-1

awkのインクリメントに問題があります。ループで使用する引数をインクリメントしたい。awk は次のようになります。

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

ループで引数をインクリメントする方法がわかりません。

最初の反復後:awk -F ',' '{printf ("*."$2)}'

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 に答える