shell脚本awk的基本用法
AWK
1 AWK
2
3 linux取IP地址
4
5 ifconfig | grep -w inet | sed -n '1p' | awk '{print $2}'
6
7 eg:
8
9 awk -F ':' '{print $1}' /etc/passwd
10
11 awk -F ':' '{print $NF}' /etc/passwd 取最后一个字段
12
13 awk -F ':' '{print $(NF-1}' /etc/passwd
14
15 NR:行 NF:最后
16
17 awk ' NR==2 {print}' /etc/passwd 支取第二行
18
19 第一行第二个字段
20
21 awk -F ':' 'NR==1 {print $1}' /etc/passwd
22
23 第三行以后的
24
25 awk 'NR>3 {print}' /etc/passwd
26
27 小写转大写
28
29 awk -F ':' '{print toupper($1)}' /etc/passwd.bak
30
31 字符串改为小写
32
33 awk '{print tolower($0)}' /tmp/aa.txt
34
35
36
37 awk '/root/ {print}' /etc/passwd
38
39 awk -F ':' '$1=="root" {print}' /etc/passwd
40
41 awk -F ':' '$1=="root" {print $2}' /etc/passwd #$2打印第二个字段 $0所有字段
42
43 awk -F ':' '{if ($1=="root") print $1;else print $2}' /etc/passwd -F字段 ':' 以:为一个字段
44
45 100以内的数相加
46
47 seq 100|awk '{sum+=$0} END {print sum}'
48
49
50
51 vim sx BEGIN 没有开始处理文件时保存的
52
53 awk 'BEGIN {FS=":";print "统计销售金额";total=0} {print}' sx
54
55 awk 'BEGIN {FS=":";print "统计销售金额";total=0} {print $3;total+=$3} END {print "销售金额总计: %.2f\n",total}' sx

浙公网安备 33010602011771号