在shell 中以 , split 字符串如下
str="aaa,bbb,ccc,ddd"
1)
echo $str |awk -F, '{print $1}'
或者是
echo $str|cut -d"," -f1
都能达到目的,但是由于文件很大,有很多行,上述方式需要开辟管道,会启动新进程,效率很低下。
2)
arr=(${str//,/ }) 表示','替换为' '空格
echo ${arr[@]}
遍历数组:aaa bbb ccc ddd
echo ${!arr[@]}
遍历数组序号:0 1 2 3
year=${arr[0]}
userId=${arr[1]}
该方法效率是最高的。