クマの手も借りたい
茶トラネコ(@kumanotemo)です。上場を控えたITベンチャーを2社も退職してフリーランスの道を選んだ放浪エンジニアです。
シェル

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

以前 awk で最後のカラム以外を表示してみましたが、今回は指定したカラム以降のカラムを全部表示したいと思います。

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

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

$ cat saratoga.txt

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

サンプルコード

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

NF は「フィールド総数を表す組み込み変数」なので、これを活用して、3 番目から最後までの値を取得します。

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

C-D-E-F-G
現場のプロから学ぶSEO技術

SEO について詳しくないけどこれから学んでみたい方。

これまでの小手先の SEO に対する技術には詳しいけど、マーケティングやソーシャル要素を組み合わせた今時の SEO をもう一度勉強してみたい方にオススメです。

あなたにオススメ