awk怎么遍历每个元素的子元素啊

aaa31-2-3-4-5bbb52-3-2-5-1我要得到aaa31aaa32aaa33aaa34aaa35bbb52bbb53bbb52bbb55bbb51小弟新手~... aaa 3 1-2-3-4-5
bbb 5 2-3-2-5-1

我要得到
aaa 3 1
aaa 3 2
aaa 3 3
aaa 3 4
aaa 3 5
bbb 5 2
bbb 5 3
bbb 5 2
bbb 5 5
bbb 5 1

小弟新手~请多指教
展开
 我来答
百度网友5311d79
推荐于2016-12-01 · TA获得超过1.9万个赞
知道大有可为答主
回答量:6356
采纳率:71%
帮助的人:3234万
展开全部

使用awk的内置函数split,将第三个字段根据分隔符“-”分割并存入数组,最后跟随$1和$2逐个打印。

$ echo "aaa 3 1-2-3-4-5" | awk '{n=split($3,a,"-");for(i=1;i<=n;i++)print $1,$2,a[i]}'
aaa 3 1
aaa 3 2
aaa 3 3
aaa 3 4
aaa 3 5
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式