【shell】分割字符串循环输出,dash和bash的不同写法

[亡魂溺海] 提交于 2020-02-06 17:38:27

1. dash的写法:

使用awk

string="abc,def,h"
for var in $(echo ${string} | awk '{split($0,arr,",");for(i in arr) print arr[i]}')
do
	echo ${var}
done

2. bash可以这样写:

string="abc,def,h"
OLD_IFS=”$IFS”
IFS=”,”
arr=(${string})
IFS=”$OLD_IFSfor var in ${arr[@]}
do
	echo ${var}
done

string="abc,def,h"
arr=(${string//,/ })
for var in ${arr[@]}
do
  echo ${var}
done

以上方法输出都为:
abc
def
h

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!