shell split 功能實現方法
阿新 • • 發佈:2019-02-16
1.用shell陣列實現
#!/bin/bash
str="hello,world,i,like,you,babalala"
arr=(${str//,/ })
for i in ${arr[@]}
do
echo $i
done
注:當字串短(分隔字元不超過1000)的時候,速度還可以容忍。當分隔字元上千時速度有點無法忍受了。原因可能是shell陣列效能差導致。
2.用shell 中sed替換分隔符來迴圈列印
#!/bin/bash
str="hello,world,i,like,you,babalala"
for i in `echo "$str" | sed 's/,/\n/g'`
do
echo $i
done
注:當字串中分隔符少時和上面的實現沒什麼大的速度差別,當字串中分隔上千時這個實現比上一個快很多倍。
3.用shell中awk
#!/bin/bash
str="hello,world,i,like,you,babalala"