shell自定义数组元素分隔符

简介:

公司人员命名图片习惯的加上了空格,今天有个需求,要批量下载这个写图片,这下蛋疼了

正确的url 是这样的

http://url  2119 01.jpg

http://url  001.jpg

写到文本里就要加转义,变成

http://url\ 2119\ 01.jpg

http://url\ 001.jpg

结果循环的结果就蛋疼了

1
2
3
4
5
6
7
#!/bin/bash
pic=$( cat  list.txt)
 
for  in  $pic
do
         echo  "$i"
done

结果

1
2
3
4
5
6
[root@localhost ~] # sh download.sh 
http: //url \
2119\
01.jpg
http: //url \
001.jpg

全乱了

解决办法:

由于数组元素的分割符号,是由IFS 这个系统内置字段分隔符来控制的,所以脚本重写如下

1
2
3
4
5
6
7
8
9
#!/bin/bash
pic=$( cat  list.txt)
IFSBAK=$IFS  # 保存默认的IFS
IFS=$ '\n'    #指定分隔符
for  in  $pic
do
         echo  "$i"
done
IFS=$IFSBAK   # 还原默认分隔符

结果输出如下:

1
2
3
[root@localhost ~] # sh download.sh  
http: //url \ 2119\ 01.jpg
http: //url \ 001.jpg

这个时候批量下载图片就没问题了











本文转自wks9751CTO博客,原文链接:http://blog.51cto.com/wks97/1651042 ,如需转载请自行联系原作者




相关文章
|
4月前
|
Unix Shell
Linux--自定义shell
Linux--自定义shell
|
4月前
|
Shell 索引
shell脚本入门到实战(四)- 数组
shell脚本入门到实战(四)- 数组
|
21天前
|
Shell KVM 虚拟化
Shell 数组编程
【8月更文挑战第22天】 Shell 数组编程
38 10
|
4月前
|
存储 算法 安全
shell 脚本之 函数与数组
shell 脚本之 函数与数组
|
3月前
|
存储 Shell 开发者
Shell 数组:灵活操作的秘诀
**Shell 数组简介**:作为基础数据结构,数组在Shell编程中不可或缺。它们存储多个值,下标从0开始。创建如`array=(值1 值2...)`,访问用`${array[index]}`。增删改查及获取长度、拼接数组都有相应语法,例如`unset array[index]`删除元素,`${#array[@]}`获取长度。通过实践这些操作,提升Shell脚本技能。
18 0
|
3月前
|
Shell Linux
linux shell 脚本实现:根据文件内容中的每行分隔符放入数组,根据规则打印日志并重新创建目录 备份文件
linux shell 脚本实现:根据文件内容中的每行分隔符放入数组,根据规则打印日志并重新创建目录 备份文件
41 0
|
3月前
|
Shell Linux
linux shell脚本字符串 字段分隔符 存入数组 根据下标取值
linux shell脚本字符串 字段分隔符 存入数组 根据下标取值
40 0
|
4月前
|
运维 Shell Python
第五章 Shell函数与数组
第五章 Shell函数与数组
|
4月前
|
人工智能 机器人 Shell
【shell】shell数组的操作(定义、索引、长度、获取、删除、修改、拼接)
【shell】shell数组的操作(定义、索引、长度、获取、删除、修改、拼接)
|
11月前
|
Shell Linux PHP