首页 > 代码库 > awk 内置变量
awk 内置变量
awk 内置变量
FS 设置输入域分隔符,等价于命令行 -F选项
OFS 输出域分隔符
NF 浏览记录的域的个数
NR 已读的记录数
RS 控制记录分隔符
ORS 输出记录分隔符
实例:
1. FS设置域分隔符 等于-F。
过滤出了/etc/passwd 文件中的第一列
[root@centos-1 ~]# awk ‘BEGIN{FS=":"}{print $1}‘ /etc/passwd
root
bin
daemon
adm
lp
sync
2.OFS 输出域分隔符。
我们可以改变文件内容的分割符号,并且打印出来
文件内容如下
[root@centos-1 ~]# cat abc
123 456
abc bcd
aaa bbb
[root@centos-1 ~]# awk ‘BEGIN{OFS=","}{print $1,$2}‘ abc
123,456
abc,bcd
aaa,bbb
注意:这种情况需要多列,单列是不行的
3.NF 浏览记录的域的个数
打印出每行有几列
[root@centos-1 ~]# awk ‘{print NF}‘ abc
2
2
2
4.NR 已读的记录数
awk 读了几行内容
[root@centos-1 ~]# awk ‘{print NR}‘ abc
1
2
3
5、ORS 输出记录分隔符
awk规定,对于文本文件,默认情况下,一条记录对应一行,即记录之间的默认分隔符是换行符;而一条记录又可以分为多个字段,默认字段分隔符为空格。
[root@centos-1 ~]# cat abc
123
abc
aaa
[root@centos-1 ~]# awk ‘BEGIN{ORS=","}{print $0}‘ abc
123,abc,aaa,[root@centos-1 ~]#
所以我们可以在编辑某些文件时,可以让文件内容横排显示,并且加上一定的分割符号
awk 内置变量