awk参数的使用-FS|OFS|NR|FNR
1.FS 输入字段分隔符,默认是空格
[root@VM-4-13-centos awk]# cat ip.txt 10.10.49.100 192.1.1.1 10.10.49.101 192.2.2.2 10.10.49.100 192.3.3.3 10.10.49.102 192.4.4.4 10.10.49.101 192.5.5.5 10.12.49.100 192.6.6.6 [root@VM-4-13-centos awk]# cat ip.txt | awk 'BEGIN{FS="."}{print $1,$2,$3}' 10 10 49 10 10 49 10 10 49 10 10 49 10 10 49 10 12 49
2.OFS 输出行分隔符,默认为换行符
[root@VM-4-13-centos awk]# cat ip.txt | awk 'BEGIN{FS=".";OFS="###"}{print $1,$2,$3}' 10###10###49 10###10###49 10###10###49 10###10###49 10###10###49 10###12###49
3.NR,FNR
都是指的行号,从1开始,操作单个文件时,都是一样的效果。操作多个文件时,NR都是算的总行号,FNR是单个文件算的。
[root@VM-4-13-centos awk]# cat ip.txt 10.10.49.100 192.1.1.1 10.10.49.101 192.2.2.2 10.10.49.100 192.3.3.3 10.10.49.102 192.4.4.4 10.10.49.101 192.5.5.5 10.12.49.100 192.6.6.6 [root@VM-4-13-centos awk]# cat cj.txt A B C D 30 40 50 60 30 40 50 30 40 50 60 30 40 [root@VM-4-13-centos awk]# awk '{print NR}' ip.txt cj.txt 1 2 3 4 5 6 7 8 9 10 11 [root@VM-4-13-centos awk]# awk '{print FNR}' ip.txt cj.txt 1 2 3 4 5 6 1 2 3 4 5