awkで指定したカラム以降をprint表示する

awkで指定したカラム以降をprint表示する

awkawkで指定したカラム以降をprint表示する

前回、awk で最後のカラム以外を表示してみましたが、今回は指定したカラム以降のカラムを全部表示したいと思います。例えば、7 個の文字列がカンマで区切られているファイルがあるとしたら、3 番目のカラム以降を表示する場合は、$3 $4 $5 $6 $7 を指定すれば可能になりますが、これだとカラム数が多くなると大変です。

よって、ここでは awk の組み込み関数である for を利用します。下記の文字列が書かれているファイルがあると仮定します。

$ cat saratoga.txt

A,B,C,D,E,F,G

この文字列の中から、3 番目以降をハイフン区切りで表示する場合は以下のようにします。

$ awk -F',' '{for(i=3;i<NF;i++){printf("%s%s",$i,OFS="-")}print $NF}' saratoga.txt 

C-D-E-F-G

最終更新日:

関連記事

人気記事

新着情報