-1

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

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

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

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

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

等等

感谢帮助

4

1 回答 1

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选项。

于 2016-03-17T15:01:34.340 回答