1、取出/etc/passwd中的第1行的第1列,第3列和最後一列
awk -F: 'NRՎҧ1{print $1,$3,$NF}' /etc/passwd
2、取出/etc/passwd的第1行
awk 'NR==1' /etc/passwd
3、取出第2行到第5行的內容
awk 'NR>=2 && NR<=5' /etc/passwd
4、過濾出/etc/passwd檔案中包含root或nobody的行
awk '/root|nobody/' /etc/passwd
5、使用awk取出ls -lh 的大小列和最後一列
ls -lh /etc/hosts |awk '{print $5,$NF}' |column -t
6、取出/etc/passwd中的第1列,第3列和最後一列
awk -F':' '{print $1,$3,$NF}' /etc/passwd|column -t
7、指定複雜分隔符取出ip
ip a s eth0 | awk 'NR==3'|awk -F'[ /]+' '{print $3}'
8、取出/etc/passwd檔案中第3列大於大於100的行,取出這行的第1列,第3列和最後一列
awk -F':' '$3ՎҲ100{print $1,$3,$NF}' /etc/passwd|column -t
9、如果系統swap使用超過0則輸出"異常系統開始佔用swap"
free |awk '/Swap/ ՎҐ $3 ՎҲ 0 {print "異常系統開始佔用swap"}'
10、過濾出/etc/passwd第4列的數字是以0或1開頭的行,輸出第1列,第3列,第4列
awk -F':' '$4 ~ /[1]/ {print $1,$3}' /etc/passwd
11、統計與計算
統計次數
awk '{i=i+1} END{print i}' /etc/passwd
計算總和
seq 10 > num.txt計算num.txt每一行的數字的總和
awk '{i=i+$1}END{print i}' num.txt
01 ↩︎