awk
テキスト処理
書き方
awk '{print $1}' [file]行を欄に分けて小さなプログラムを走らせます。$0 は行全体、$1 が最初の欄で、既定の区切りは空白一つではなく連続する空白です。
よく使うオプション
| オプション | 意味 |
|---|---|
| -F | Set the field separator, as in -F, |
| -v | Pass a shell value in as an awk variable |
| -f | Read the program from a file |
| $0 | The whole line; $1 is the first field, NF the field count |
例
awk -F, '{print $2}' data.csvSecond column of a comma-separated file.
awk '$3 > 100' access.logOnly the rows whose third field exceeds 100.
awk '{s+=$1} END {print s}' nums.txtAdds up the first column.
パイプでつないで使うのが本来の形です。ひとつで全部やるより、三つつないだ方が短くなります。
読み方
- 角括弧 [ ] は省いてよい部分です。
- 三点 … は複数並べられるという意味です。
- オプションは大文字小文字を区別します — -r と -R が別物のコマンドもあります。
よくある質問
Q. awk は何をしますか。
行を欄に分けて小さなプログラムを走らせます。$0 は行全体、$1 が最初の欄で、既定の区切りは空白一つではなく連続する空白です。
Q. どう打ちますか。
awk '{print $1}' [file] — 角括弧は省いてよい部分です。
Q. よく使うオプションはいくつですか。
ここにまとめたのは4個です。全部は man awk にあります。このコマンドはテキスト処理の仲間です。
関連するコマンド
man ページ: man awk