AWKとは
今回はAWK。文字列を読み込んで、なんらか処理できるコマンド。
TSVファイルやCSVファイルなどから情報を取得する時に便利。
awk -F "区切り文字" '{なんらか処理}' 対象ファイルパス
Step 0. 準備
以下のようなCSV, TSVファイルからデータを取得してみる
awk-test.csv
key1,val1
key2,val2
key3,val3
key3,val4
awk-test.tsv
key1 val1
key2 val2
key3 val3
key3 val4
Step 1. keyの列だけ取得
awk -F "," '{print $1}' awk-test.csv
-F “,” 区切り文字のオプション
‘{print $1}’ 処理内容 一番目の要素を表示する
awk-test.csv 対象ファイルパス
key1
key2
key3
key3
Step 2. valの列だけ取得
awk -F "," '{print $2}' awk-test.csv
val1
val2
val3
val4
Step 3. 1の結果から重複を除去
awk -F "," '{print $1}' awk-test.csv | uniq
key1
key2
key3
Step 4. keyの列だけ取得(TSVファイルから)
awk -F " " '{print $1}' awk-test.tsv
key1
key2
key3
key3
Step 5. keyの列だけ取得(TSVファイルから)
区切り文字はデフォルト空白orタブなので-Fオプションなしでも結果は同じ
awk '{print $1}' awk-test.tsv
key1
key2
key3
key3
コメントを残す