破折号中的awk增量

时间:2016-03-17 14:58:17

标签: bash posix dash-shell

我在awk中有增量问题。我想增加参数在循环中使用。 Awk看起来像这样:

awk -F ',' '{printf ("*."$1)}'

我不知道如何在循环中增加参数。

  

首次迭代后:awk -F ',' '{printf ("*."$2)}'

     

第二次迭代后:awk -F ',' '{printf ("*."$3)}'

     

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

你可以写一个for循环,我假设你想迭代那些会有NF的元素。

awk -F, '{for(i=1;i<=NF;i++) printf "*.%s\n", $i}

最好将样本输入和预期输出从SO中获得更好的帮助。

$ echo c,ccc,ccccc,ppm,sad,sh,txt,txt | 
  awk -F, '{for(i=1;i<=NF;i++) printf "suffix[%d]=%s\n",i, $i}'

suffix[1]=c
suffix[2]=ccc
suffix[3]=ccccc
suffix[4]=ppm
suffix[5]=sad
suffix[6]=sh
suffix[7]=txt
suffix[8]=txt

如果您希望它们与;分隔符位于同一行,请从printf中删除\ n,并将-v OFS=';'添加为awk选项。