【每天一个linux命令】awk

awk:取出指定字符

#【-F ':'】        将查找出的内容以 : 为分割
#【{print $0}】    分割之后打印出第n个值($0 是所有)
cat /etc/passwd |awk -F ':' '{print $0}'
# 打印第二行 NR==2
cat /etc/passwd |awk -F ':' 'NR==2 {print $0}'

#【END{print $0}】 以空格分割,打印出最后一行所有值 cat awk.log |awk 'END{print $0}' #【BEGIN{print "begin"} {print $1 "," $7} END{print "end"}】 从第一行开始一直到最后一行 cat /etc/passwd |sed -n '1,3p' |awk -F ':' 'BEGIN{print "begin"} {print $1 "," $7} END{print "end"}'
# awk 'BEGIN {命令行1} {命令行2} END {命令行}'
# 平均值
cat test.txt|awk '{sum+=$2} END {print "Average=", sum/NR}' >> shanpao_time.txt
Average= 83

# 最大值
awk 'BEGIN {max = 0} {if ($2+0 > max+0) max=$2} END {print "Max=", max}' test.txt
Max= 90