Linux三劍客awk命令篇二:命令操作符
關于awk的原理等基本知識請參考上篇:
Linux三劍客awk命令篇一:原理及基本命令
補充
1、語法格式:
(1) Awk完整語法
awk 'BEGIN{commands} pattern{commands}END{commands} ' file
BEGIN{commands}:處理數據前執行的命令。
END{commands}:處理完數據後執行的命令。
這兩個命令可以省略。見(2)
(2) Awk基本語法
awk -F '分割符' '/模式/{動作} ' file
這裡的'/模式/{動作} '類似于sed的命令格式。
模式:
(1) 正則表達式(注意格式:/正則表達式/)
(2) 條件表達式(例如:> <等等)
總結:
這裡的模式通俗來講是用來找誰,而動作表示是幹啥。
2、 awk的命令操作符
(1) 正則表達式與bash一緻
(2) - * / % --
(3) && || !
案例2:
% || ==使用案例
seq 100 | awk '$1 % 7 == 0 || $1 ~ /^99/{print $1}'
輸出結果的要求:
整除7或者以99開頭
案例3:
使用
awk 'BEGIN{num=0}{num }END{print num}' /etc/passwd
簡單解釋:
BEGIN{num=0}:定義一個變量num
{num }:這裡沒有模式,隻有動作。
即每匹配到文件/etc/passwd的一行就執行num
END{print num}:文件遍曆結束,打印num的值,即文件的行數。
這裡我們使用wc -l驗證也是沒問題的。
cat /etc/passwd | wc -l
上面3個案例簡單的使用了awk的命令操作符。
雖然隻是用到了幾個簡單的,但是其他同理,大家可以執行操作。
下一篇:
Linux三劍客awk命令篇二之内部變量
歡迎大家給予寶貴的意見或者建議。
歡迎大家補充或者共享一些其他的方法。
感謝支持。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!