当前位置: 技术问答>linux和unix
shell中调用awk,切分字符串
来源: 互联网 发布时间:2017-01-02
本文导语: 有这么个需求: 在shell脚本中,有大概这样的变量: #空格分开的字符串 head="aa bb cc" 现在想把$head按空格切分开,放到数组里,以供后续的使用。 似乎应该是用awk来实现, 具体该怎么做啊? 或用其它的也行。 ...
有这么个需求:
在shell脚本中,有大概这样的变量:
#空格分开的字符串
head="aa bb cc"
现在想把$head按空格切分开,放到数组里,以供后续的使用。
似乎应该是用awk来实现,
具体该怎么做啊?
或用其它的也行。
在shell脚本中,有大概这样的变量:
#空格分开的字符串
head="aa bb cc"
现在想把$head按空格切分开,放到数组里,以供后续的使用。
似乎应该是用awk来实现,
具体该怎么做啊?
或用其它的也行。
|
array=($head)
|
楼上的方法很好,在linux平台可以识别
对于其他环境,试试
set -A aa `echo $head`
echo ${aa[0]}
echo ${aa[1]}
对于其他环境,试试
set -A aa `echo $head`
echo ${aa[0]}
echo ${aa[1]}
|
办法都是有的,你提出要求吧.
|
[root@localhost bashShell.dir]# head="aa bb cc"
[root@localhost bashShell.dir]# arr=(${head})
[root@localhost bashShell.dir]# echo ${arr[0]}
aa
[root@localhost bashShell.dir]# echo ${arr[1]}
bb
[root@localhost bashShell.dir]# echo ${arr[2]}
cc
[root@localhost bashShell.dir]#
|
[root@localhost bashShell.dir]# echo $head
aa,bb,cc
[root@localhost bashShell.dir]# echo $head | tr "," " "
aa bb cc
[root@localhost bashShell.dir]# arr=($(echo $head | tr "," " "))
[root@localhost bashShell.dir]# echo ${arr[0]}
aa
[root@localhost bashShell.dir]# echo ${arr[1]}
bb
[root@localhost bashShell.dir]#