
awk入門②
こんにちは。yasakumaです。
以前awkのコマンドの紹介をした事がありましたが、
今回は前回書けなかった、自分なりによく使う使い方を記載していこうと思います。
■適当なファイルを準備
[your-assist@yasakuma ~]$ cat awk-nyumon2.txt tokyo takaosan 1021:sato kanagawa hakone 1021:sasaki kanagawa hiratsuka 1022:yasa chiba naritasan 1020:yasa ibaraki senbako 1021:sato gunma kusatsu 1020:sasaki saitama hanno 1021:yasa
■2列目を抜き出したい場合
[your-assist@yasakuma ~]$ cat awk-nyumon2.txt | awk '{print $2}'
takaosan
hakone
hiratsuka
naritasan
senbako
kusatsu
hanno
■一番後ろの列を抜きだしたい場合
[your-assist@yasakuma ~]$ cat awk-nyumon2.txt | awk '{print $NF}'
1021:sato
1021:sasaki
1022:yasa
1020:yasa
1021:sato
1020:sasaki
1021:yasa
■後ろから2列目を抜き出したい場合
[your-assist@yasakuma ~]$ cat awk-nyumon2.txt | awk '{print $(NF -1)}'
takaosan
hakone
hiratsuka
naritasan
senbako
kusatsu
hanno
前から何列目か数えるのが難しかったり後ろから何列目かはわかるんだけどなー。
等の時に活躍してくれると思います。
■特定の列を合算したい場合
適当なファイルを準備
[your-assist@yasakuma AWK]$ ls -l 合計 25600 -rw-rw-r-- 1 your-assist your-assist 3145728 1月 1 2020 test_1.txt -rw-rw-r-- 1 your-assist your-assist 2097152 1月 2 2020 test_2.txt -rw-rw-r-- 1 your-assist your-assist 1048576 1月 3 2020 test_3.txt -rw-rw-r-- 1 your-assist your-assist 4194304 1月 1 12:00 test_4.txt -rw-rw-r-- 1 your-assist your-assist 1048576 1月 1 12:00 test_5.txt -rw-rw-r-- 1 your-assist your-assist 1048576 1月 1 13:00 test_6.txt -rw-rw-r-- 1 your-assist your-assist 7340032 1月 1 14:00 test_7.txt -rw-rw-r-- 1 your-assist your-assist 1048576 1月 1 15:00 test_8.txt -rw-rw-r-- 1 your-assist your-assist 5242880 1月 1 16:00 test_9.txt
ls結果で表示されるファイル容量を合算(5列目を合算)
[your-assist@yasakuma AWK]$ ls -l | awk ‘{total +=$5}; END{print total}’
26214400
すごいですね。
単位をMBにあわせて見やすくしてみます。
[your-assist@yasakuma AWK]$ ls -l | awk ‘{total +=$5}; END{print total/1024/1024 “MB”}’
25MB
凄いですねawk!
もっと色々使い方あるかと思うので、何か発見しましたらまた記事にしていきたいと思います。
本日はこの辺で失礼致します。






