shell中调用awk,切分字符串

LeonTown 2011-09-23 11:23:07
有这么个需求:
在shell脚本中,有大概这样的变量:
#空格分开的字符串
head="aa bb cc"

现在想把$head按空格切分开,放到数组里,以供后续的使用。
似乎应该是用awk来实现,
具体该怎么做啊?

或用其它的也行。
...全文
835 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
justkk 2011-09-23
  • 打赏
  • 举报
回复
楼上的方法很好,在linux平台可以识别

对于其他环境,试试
set -A aa `echo $head`
echo ${aa[0]}
echo ${aa[1]}
joan8363 2011-09-23
  • 打赏
  • 举报
回复
array=($head)
帅得不敢出门 2011-09-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 leontown 的回复:]

引用 2 楼 justkk 的回复:

楼上的方法很好,在linux平台可以识别

对于其他环境,试试
set -A aa `echo $head`
echo ${aa[0]}
echo ${aa[1]}


可以用,
能够得到aa的元素个数吗?
[/Quote]
echo ${#aa
  • }
qq120848369 2011-09-23
  • 打赏
  • 举报
回复
[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]#
qq120848369 2011-09-23
  • 打赏
  • 举报
回复
[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]#
qq120848369 2011-09-23
  • 打赏
  • 举报
回复
办法都是有的,你提出要求吧.
LeonTown 2011-09-23
  • 打赏
  • 举报
回复
还有,能设置为根据其它分隔符切割吗?
LeonTown 2011-09-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 justkk 的回复:]

楼上的方法很好,在linux平台可以识别

对于其他环境,试试
set -A aa `echo $head`
echo ${aa[0]}
echo ${aa[1]}
[/Quote]

可以用,
能够得到aa的元素个数吗?

23,125

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧