awk工具
命令:awk
选项:
-F 指定分隔符,如:-F ‘:’ 指定:号为分隔符
awk截取文件的某个段(第一段):
[root@shuai-01 awk]# awk -F ':' '{print $1}' test.txt
root
bin
daemon
adm
lp
如果awk不指定分割符,他就会以空格为分隔符:
[root@shuai-01 awk]# awk '{print $1}' 1.txt
1
aa
dd
[root@shuai-01 awk]# cat 1.txt
1 2
aa bb
dd cc
匹配字符或者字符串:
打印包含’oo’的行:
[root@shuai-01 awk]# awk '/oo/' test.txt
root:x:0:0:root:/root:/bin/bash
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
打印第一段中有‘oo’的行:
[root@shuai-01 awk]# awk -F ':' '$1 ~/oo/' test.txt
root:x:0:0:root:/root:/bin/bash
将匹配’root’的行打印1,3段,匹配’user’打印全部:
[root@shuai-01 awk]# awk -F ':' '/root/ {print $1,$3} /user/ {print $0}' test.txt
root 0
operator 11
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
user1:x:1001:1001::/home/user1:/bin/bash
user2:x:1003:1005::