bash中字符串和数组的遍历
2016-06-24 16:46
399 查看
让我们看如下的bash script
求字符串的长度:${#A}
求数组元素的个数:${#A[@]}
分割字符串到数组:
例如,我一个字符串a=192.168.0.1,我想要将其以"."为分隔符,将其分割为一个数组,该数组为(192, 168, 0, 1)。有好多中方法可以实现,这里说一种比较少见,却是很简单的方法:
arr=(${a//./ })
在这里解释一下:上述语句将所有在字符串中出现的"."替换为空格‘ ’,然后将以空格分割的字符串翻译为一个数组(这就是最外层的圆括号的作用)。其中改的//意思是执行全局替换。
在大括号中用的替换'.'字符为' '字符的语法称为参数扩展。
A="china fengxi zhongguo" echo "echo varialbe A directly:" $A echo "" echo "loop string" for i in $A; do echo $i done A=("china" "fengxi" "zhongguo") echo "echo array directly:" $A echo "" echo "loop array" for i in ${A[@]}; do echo $i done输入出为:
echo varialbe A directly: china fengxi zhongguo loop string china fengxi zhongguo echo array directly: china loop array china fengxi zhongguo
求字符串的长度:${#A}
求数组元素的个数:${#A[@]}
分割字符串到数组:
例如,我一个字符串a=192.168.0.1,我想要将其以"."为分隔符,将其分割为一个数组,该数组为(192, 168, 0, 1)。有好多中方法可以实现,这里说一种比较少见,却是很简单的方法:
arr=(${a//./ })
在这里解释一下:上述语句将所有在字符串中出现的"."替换为空格‘ ’,然后将以空格分割的字符串翻译为一个数组(这就是最外层的圆括号的作用)。其中改的//意思是执行全局替换。
在大括号中用的替换'.'字符为' '字符的语法称为参数扩展。
相关文章推荐
- linux shell函数
- Bash脚本中date的用法
- git bash退回上一个文件夹
- shell 函数返回字符串
- 转载:shell脚本之前的基础知识
- Bash脚本执行mysql语句
- shell 监控cpu,memory,load average
- shell脚本--(符号和语法)
- Shell入门
- Linux Shell 脚本攻略 chap 1 小试牛刀
- PowerShell 2.0开发使用CredSSP处理多跳授权
- Unix/Unix Shell -- sh, ksh, csh
- 在Jenkins中配置执行远程shell命令
- PowerShell中远程管理配置
- spark1.4 spark-shell hbase
- mysql命令行下执行shell命令方法
- ZSH出现问题:corrupt history file /home/XXX/.zsh_history
- 管理脚本
- Linux系统防CC攻击自动拉黑IP增强版Shell脚本
- linux shell 中"2>&1"含义