うる覚えシェル芸への道:csvファイルとawk

この記事は「勉強したばかりのこと」&「何も見ずに記憶で勉強したこと」を
記事に書く練習として書いております。

本日のテーマ: csvファイルとawk

仕事柄「シェル芸出来るひと、格好いいよね!」というモチベーションで、
シェル芸を身に着けていきましょう。最初は最近、存在を知ったawkについてcsvファイルを使って説明していきます。

csvファイルとは

……今思えば、csvファイルは「スプレッドシート」などの表で使われるファイル形式で、カンマ区切りなどの区切りの法則性があり、テキストファイルでも開くことが出来るファイル形式ということしか知らないデス。

sample.csvで下記のようなカンマ区切りのものを保存するか、
……`csv ファイル サンプル`でさがすと、サンプルデータがDL出来ます。

id,name,level
1,Alice,2
2,Blood,32,
3,Claris,22 

個人的にはエクセルよりもcsvの方がデータとしては、ありがたいのですが、
csvでは当然ながらマクロが組めないので一長一短ですね。

awkについて

awkはオークと読むらしいです。(私はアウィクとか読んでた。恥ずかしい)

早速、grepcsvファイルからAliceが含まれている行を出力する例で。

grep Alice sample.csv | awk -F ','  { 'print $0 '} 

これはカンマ(,)区切りのcsvファイルに対して、一行($0)を出力させる例です。
$0は1行まるごとデータが入っており、指定した区切りごとに$1,$2,$3,....と出力の指定が出来ます。2列目を表示させたければ

grep Alice sample.csv | awk -F ','  { 'print $2 '}

といった感じ。

 終わりに

 あんまり多くは書けなかった、知識不足ですね