码迷,mamicode.com
首页 > 编程语言 > 详细

shell自定义数组元素分隔符

时间:2015-05-13 19:59:12      阅读:495      评论:0      收藏:0      [点我收藏+]

标签:图片   元素   命名   

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

正确的url 是这样的

http://url  2119 01.jpg

http://url  001.jpg

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

http://url\ 2119\ 01.jpg

http://url\ 001.jpg

结果循环的结果就蛋疼了

#!/bin/bash
pic=$(cat list.txt)

for i in $pic
do
        echo "$i"
done

结果

[root@localhost ~]# sh download.sh 
http://url211901.jpg
http://url001.jpg

全乱了

解决办法:

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

#!/bin/bash
pic=$(cat list.txt)
IFSBAK=$IFS # 保存默认的IFS
IFS=$‘\n‘   #指定分隔符
for i in $pic
do
        echo "$i"
done
IFS=$IFSBAK  # 还原默认分隔符

结果输出如下:

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

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

shell自定义数组元素分隔符

标签:图片   元素   命名   

原文地址:http://wks97.blog.51cto.com/2139464/1651042

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!