Awk
ドキュメント:
使い方
$ echo "hello world" | awk '{ print $1 ", " $2 }'
参考:
テキストの加工とパターン処理、split 関数の活用 | @IT
テキストの加工とパターン処理、関数の活用と CSV | @IT
Awk リファレンス | UNIX & Linux コマンド・シェルスクリプト リファレンス
基本
参考:
パターンとアクション | The GNU Awk User’s Guide (kt.rim.or.jp)
式 | The GNU Awk User’s Guide (kt.rim.or.jp)
Getting Started with Awk | The GNU Awk User’s Guide (kt.rim.or.jp)
Expressions | The GNU Awk User’s Guide
導入
参考:
区切り文字 (FS)
参考:
awk でデリミタ/区切り文字を複数指定する | 俺的備忘録 なんかいろいろ
awk で複数の区切り文字を指定したい | HongoWiki
awk コマンドの区切り文字をカンマに変更 | Linuxと過ごす
あえて言うほどではないけれども、Awk の区切り文字について | TECHSCORE BLOG
テキストの加工やパターン処理をする | 日立 IT プラットフォーム
Awk でカンマ区切りのデータを指定した列だけカンマ区切りで出力する – Qiita
入力ファイルの読み込み | The GNU Awk User’s Guide (kt.rim.or.jp)
OFS / ORS
参考:
AWK の ORS 変数を設定すれば、レコードを特定の文字で結合できる | Bye Bye Moore
Awk で $0 出力するときに OFS 指定が無視られる問題 | kakenman の日記
Output Separators | The GNU Awk User’s Guide
how to keep Field Separator in Awk when using a sub statement – LinuxQuestions.org
How to keep the field separator when printing $0 with Awk – Unix & Linux Stack Exchange
FPAT
参考:
gawk 4.0 で CSV をもっとうまく扱う – Qiita
gawk で EXCEL (エンクォート) の CSV 処理 | へにょってぃえ
GNU Awk で CSV ファイルを楽々あつかう組込変数 FPAT と、関数のインダイレクト呼び出し | CodeZine
CSV のデータ内のカンマを削除 – スタック・オーバーフロー
Splitting By Content | The GNU Awk User’s Guide
Can Awk deal with CSV file that contains comma inside a quoted field? – Stack Overflow
Parsing a CSV file using Gawk – Stack Overflow
What’s the most robust way to efficiently parse CSV using Awk? – Stack Overflow
when both delimiter and quotes are used for a field – Unix & Linux Stack Exchange
NF
参考:
Awk を使って CSV のカラム数をチェック – Qiita
Awk で末尾から数えて n 番目のフィールドを取り出す – Qiita
テキストファイルから最後のフィールドを取り出す | CUBE SUGAR STORAGE
Awk で行数/カラム数を取得する変数 | 瀬戸内の雲のように
組み込み変数/NF (フィールド数)/NR (行番号) | 株式会社創夢
Awk で1項目以外を簡単に出力したい – 教えて! goo
NR / FNR
参考:
FNR 現在読み込み中のファイルから読み込んだ行数 | to_dk notebook
Awk で行数/カラム数を取得する変数 | 瀬戸内の雲のように
組み込み変数/NF (フィールド数)/NR (行番号) | 株式会社創夢
different between NR and FNR – Unix Linux Forums
What is “NR==FNR” in Awk? – Stack Overflow
制御構文
if
for
while
do { ... } while
break
continue
next
nextfile
exit
参考:
next / nextfile / exit
参考:
next と exit | WTOPIA v1.0 Documentation
next – 次行の処理に移る | to_dk notebook
nextfile – 次の入力ファイルの処理に移る | to_dk notebook
How to Use ‘next’ Command | Tecmint
Next Statement | The GNU Awk User’s Guide
Nextfile Statement | The GNU Awk User’s Guide
Skip to next file – Stack Overflow
組み込み関数
参考:
組み込み関数 | The GNU Awk User’s Guide (kt.rim.or.jp)
Built-in Functions | The GNU Awk User’s Guide
変数
参考:
Awk の変数 | WTOPIA v1.0 Documentation
シェル変数の値を使う
参考:
Awk のフィールド指定のところを変数で指定する | かべぎわブログ
Awk のパターンに動的な変数を用いる書き方 – teratail
組み込み変数
- FS
- OFS
- RS
- ORS
- NR
- NF
- FILENAME
- FNR
参考:
システム変数を理解 (FS / OFS / RS / ORS / NF / NR / FILENAME) | おぼえがき
組み込み変数 | The GNU Awk User’s Guide (kt.rim.or.jp)
Built-in Variables | AWK Language Programming (math.utah.edu)
Built-in Variables | The GNU Awk User’s Guide
コメント
Awk スクリプト中にコメントを記述するには、#
以降にコメントを記述する。
# write comment here
Code language: Awk (awk)
参考:
「#」 – コメントを入力する | to_dk notebook
@include
参考:
Include Files | The GNU Awk User’s Guide
igawk
参考:
igawk Program | The GNU Awk User’s Guide
シェルスクリプトで使う
参考:
How can I specify a row in awk in for loop? – Stack Overflow
CSV を扱う
参考:
Awk を使って CSV のカラム数をチェック – Qiita
ドキュメント
awk コマンド – テキストの加工やパターン処理をする | 日立 IT プラットフォーム
The GNU Awk User’s Guide | GNU.org
まとめ
Awk CSV Parser
リポジトリ: