クマの手も借りたい
馬とテニスとリラックマが好きな IT 系のエンジニアです。
シェル

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
Web API The Good Parts

オライリーの「Web API」に特化した本です。最近の多くの Web サービスは API が活用されていますが、その技術はこれまでの Web サイトとそれほど大きく変わりません。

今後、マイクロサービス化が進む中で知っておいて損はない内容が詰め込まれており、現場のエンジニアやこれから Web 系のエンジニアを目指す人にもオススメの一冊です。

created by Rinker
¥2,376
(2018/09/20 11:58:13時点 Amazon調べ-詳細)

あなたにオススメ