awk
1.执行过程
2.取行与取列
(1)取行:record 记录
(2)方法:NR
awk '/oldboy/' lidao.txt
[root@oldedu59 /oldboy]# awk '/oldboy/' lidao.txt
101,oldboy,CEO
awk 'NR==3' lidao.txt
[root@oldedu59 /oldboy]# awk 'NR==3' lidao.txt
103,Alex,COO
(2)取列:field 字段
-F 指定分隔符
(3)方法
取出第1和第2列: '{print 2}'
[root@oldedu59 /oldboy]# awk '{print $1,$2}' oldboy.txt
I am
I teach
I like
my blog
our size
my qq
not 4900000448.
my god
取出第1和第2列,并在中间加上@@@
'{print 2}'
[root@oldedu59 /oldboy]# awk '{print $1"@@@"$2}' lidao.txt
101,oldboy,CEO@@@
102,zhangyao,CTO@@@
103,Alex,COO@@@
104,yy,CFO@@@
105,feixue,CIO@@@
110,lidao,COCO@@@
去每行的而最后一列 $NF
3.过滤
awk中什么可以作为条件
(1).比较:找出/etc/passwd中第三列大于999的行
awk -F":" '$3>999' /etc/passwd
[root@oldedu59 /oldboy]# awk -F":" '$3>999' /etc/passwd
oldboy:x:1000:1000::/home/oldboy:/bin/bash
lo:x:1001:1001::/home/lo:/bin/bash
> >= < <= == 等
并且 &&