awk 第二部分
實操
awk '$0~/good|glad/' test 根據匹配條件選擇指定行
awk '{if($0~/good|glad/) print $0}' test 效果同上
awk '{if($0~/goo+) print $0}' test 匹配goo加後面若干字符
awk '{if($0~/goo?/) print $0}' test 匹配前面的字符0個或者1個
awk '{if($0~/goo*/) print $0}' test 匹配前面的字符無限多個
awk條件操作符
實操
awk '{if($0!~/goo?/) print $0}' test 不匹配 含有goo開頭的內容
ll /var|tail|tee llvar
cat -n llvar
awk '{if($5==1024) print $0}' test 查找字節數等於1024的行內容
cat -n llvar
awk '{if($2<9) print $0}' llvar |cat -n 查找鏈接數小於9的行內容
awk '{if($2>=9 && $9~/o/)}' 查找第二個域大於等於9且第九個域內容中含有o的行內容
awk內置變量
awk '{print NF,NR,$NF,$0,FILENAME}' test
awk '{print NF,NR,$NF,$0}END{print "=========";print FILENAME}' /tmp/test
awk 'BEGIN{FS=":"}{print NF,NR,$NF,$0}END{print FILENAME}' /etc/passwd 這裏指定分隔符爲冒號