テキストの加工やパターン処理をさせる際に利用可能なとても便利なコマンドです。
※正確にはコマンドではないそうですが、、
# cat tmp.txt test0 hoge kon0 test1 hoge1 kon1 test2 hoge2 kon2 test3 hoge3 kono3
# cat tmp.txt | awk '(print $3)' kon0 kon1 kon2 kono3
awk '{print $(NF -0)}' 例: # ls -l 合計 2 -rw-r--r-- 1 root root 1593 12月 6 12:37 2013 LOG.txt -rw-r--r-- 1 root root 1616 12月 6 12:46 2013 LOG2.txt # ls -l | awk '{print $(NF -0)}' LOG.txt LOG2.txt スクリプトとかで便利かと思うコマンドです。 数字の所を変更することで◯カラム目を指定可能です。※例では0を指定して1カラム目。
$ cat access_log | awk '/wp-login/'
$ cat access_log | awk '$5 ~ /29/Jun/2016:04:04/'
$ cat access_log | awk '$9==200'
$ cat access_log | awk '$9==200' | wc -l 3052 ↓ $ cat access_log | awk '{if($9==200) ok++};END{print ok}' 3052 ↓ 200と200以外の値 $ cat access_log | awk '{if($9==200) ok++;else ng++};END{print ok;print ng}' 3052 196