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 i 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 i 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 ,如需转载请自行联系原作者
shell自定义数组元素分隔符相关推荐
- Shell替换数组元素之间的间隔符号
Shell中的数组是这样表示的: arr=(1,2,3,4,5) 它们数组元素的间隔符号为逗号,如果我相把逗号替换为加号: echo ${arr//,/+} 输出: 1+2+3+4+5 这个表达式是我 ...
- 在Java中使用分隔符(拆分的对立面)连接数组元素的快速简便方法
本文翻译自:A quick and easy way to join array elements with a separator (the opposite of split) in Java [ ...
- shell unset之后数组元素个数为_PHP删除数组中指定值的元素的方法
PHP编程中,有时候需要对数组中指定的元素进行删除操作.这篇文章就说几种php语言中如何对数组中指定值的元素进行删除的方法. PHP unset() 函数 PHP删除数组中的元素需要用到函数 unse ...
- 数组元素替换_Linux Shell 通俗简要的讲解数组操作
Shell 数组 什么是数组?学过计算机编程语言的同学们都知道,数组的特性就是一组数据类型相同的集合 Bash Shell 数组中可以存放多个值,且只支持一维数组(不支持多维数组),初始化时不需要定义 ...
- c语言学习-自定义函数并调用将一个字符串中的小写字母改为大写字母(数组元素和数组名作函数参数)
c语言自定义函数并调用将一个字符串中的小写字母改为大写字母(数组元素和数组名作函数参数) 程序流程图: 代码: #include<stdio.h> char strupr(char ch[ ...
- shell 数组元素有空格_Shell数组:Shell数组定义以及获取数组元素
和其他编程语言一样,Shell 也支持数组.数组(Array)是若干数据的集合,其中的每一份数据都称为元素(Element). Shell 并且没有限制数组的大小,理论上可以存放无限量的数据.和 C+ ...
- shell 数组元素有空格_Shell数组添加元素及注意事项
向Shell数组添加元素有多种方法,每种方法在使用时都有一些需要注意的地方,没有见过这方面的总结资料,所以自己总结一下. 直接下标添加 array_name[index]=value 最简单的添加方式 ...
- shell 数组元素有空格_Shell数组操作
1.数组定义 1.1 declare定义 使用declare -a 命令定义数组(数组的索引是从0开始计数的),接下来就可以通过[]操作符为不同索引位置的元素赋值. declare -a names ...
- java随机打印一个数组元素_java 怎么随机打印自定义数组里面的字符串
packageShiyan;importjava.util.Arrays;importjava.util.Random;publicclassasd123{publicstaticvoidmain(S ...
最新文章
- java中怎样克隆,如何在Java中克隆列表?
- 图的割点、桥与双连通分支
- mysql 字段 as_mysql 字段as详解及实例代码
- p怎么调用python的实例属性_Python中类的声明,使用,属性,实例属性,计算属性及继承,重写...
- 动手学深度学习(PyTorch实现)(八)--AlexNet模型
- python ansible模块_Python之——Ansible常用模块及API,pythonansibleapi
- 魅族android n内测报名,底层升级安卓 N 内测报名 Flyme 迎来五周年
- 5岁自学python编程-三十岁了还可以学编程吗?只要你想,只要你做,什么时候都不晚...
- 快速了解layui中layer的使用
- 安装Cocoapods, 更新gem出现的问题
- 标记偏见_人工智能的影响,偏见和可持续性
- PASCAL VOC2012数据集内容解读
- java实现角谷步数
- 洛谷T30768 动感超人520
- QPS、TPS、PV、UV、GMV、IP、RPS的概念解释
- 宁德时代换挡,钠电池“接力”锂电池?
- 《近匠》专访启明星辰安全研究中心副总监侯浩俊——物联网安全攻防的“线上幽灵”
- 技术分享 | MySQL 突如其来的主从复制延迟
- js 无害化_道德第一无害
- 【可穿戴算法】-进阶-心率变异性分析
热门文章
- Android NDK开发:打包so库及jar包供他人使用
- python语言源程序文件类型_浅谈Python的文件类型
- JSP自定义标签入门实例
- jdbc显示mysql的数据_JDBC链接mysql插入数据后显示问号的原因及解决办法
- 介绍计算机的英文文章,计算机方面的英语资料,介绍一些计算机的英语短文,有兴趣的可以看...
- JDK8新特性(七)之Stream流的count()、filter()、limit()、skip()方法
- Spring Data Jpa 报错org.hibernate.LazyInitializationException: could not initialize proxy
- Layui--代码修饰器layui.code
- oracle存储过程转mysql存储过程修改方法
- Aix5.3安装Bash Shell环境