首页 > 代码库 > awk
awk
awk:一门语言,过滤内容(取列),打印,删除
awk ‘{print $1}‘ 文件
例如,文件如下:
[root@wuyike ~]# cat awk.txt
wuyike wuyikekeke
ddd fff
eded
显示文件的第一列:
[root@wuyike ~]# awk ‘{print $1}‘ awk.txt
wuyike
ddd
eded
显示文件的第二列
[root@wuyike ~]# awk ‘{print $2}‘ awk.txt
wuyikekeke
fff
显示两列:
[root@wuyike ~]# awk ‘{print $1 $2}‘ awk.txt
wuyikewuyikekeke
dddfff
eded
显示两列并加分隔符:
[root@wuyike ~]# awk ‘{print $1" "$2" "}‘ awk.txt
wuyike wuyikekeke
ddd fff
eded
[root@wuyike ~]# less /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
显示以冒号为分隔符的第一列:
[root@wuyike ~]# awk -F ":" ‘{print $1}‘ /etc/passwd
root
bin
daemon
adm
lp
sync
显示以分号为分隔符的最后一列:(NF是指最后一列)
[root@wuyike ~]# awk -F "/" ‘{print $NF}‘ /etc/passwd
bash
nologin
nologin
nologin
nologin
sync
shutdown
halt
注:Linux里面严格区分大小写
NR代表行号
[root@wuyike ~]# awk ‘{if(NR<31 && NR>19) print $1"\n"}‘ test.txt
20
21
22
23
24
25
26
27
28
29
30
awk