00- awk命令.note
一、综合练习:
1、基础:

本次使用的是 /etc/passwd
cp /etc/passwd ./file.txt
(1)打印输出所有行:
awk '{print}' file.txt
or
awk '{print $0}' file.txt
(2)打印输入文件第八行:
awk 'NR == 8' file.txt
(3)打印文件所有行的第一个字段:
awk -F ':' '{print $1}' file.txt //以 : 为分隔
# 如果 print $0,那么会输出一整行的内容,也就是文件的所有内容
(4)打印输入行总数:
awk 'END{print NR}' file.txt
(5)打印每行字段数:
awk -F ':' '{print NF}' file.txt
(6)打印最后一行的最后一个字段的值:
awk -F ':' 'END{print $NF}' file.txt
(7)打印uid在 30-40 范围内的用户名:
awk -F ':' "$3 >= 30 && $3 <= 40 {print $1}" file.txt
(8)倒序排列文件的所有字段:
awk -F: '{for(i=NF; i>0; i--) printf "%s%s", $i, (i==1 ? "\n" : FS)}' file.txt
(9)打印5到35行:
awk 'NR >= 5 && NR <= 35' file.txt
(10)在文件顶部加上标题“Document”:
awk 'BEGIN {print "Document"} {print}'
(11)隔行删除: