awk(主要用于域的作用)
命令行方式
awk '{pattern + action}' {filenames}
awk [-F field-separator] 'commands' input-file(s)
其中,commands 是真正awk命令,[-F域分隔符]是可选的。 input-file(s) 是待处理的文件。
在awk中,文件的每一行中,由域分隔符分开的每一项称为一个域。通常,在不指名-F域分隔符的情况下,默认的域分隔符是空格。
简单应用实例如下:
1、输出第一个域
[work()@bjdhj-183-67 ~]$ last -n 5 |awk '{print $1}'
work
work
work
work
work
wtmp
2、 输出第一域和第三域,中间以tab键隔开
[work()@bjdhj-183-67 ~]$ last -n 5 |awk '{print $1 "\t" $3}'
work tjtx-94-89.58os.
work tjtx-94-89.58os.
work tjtx-94-89.58os.
work tjtx-94-89.58os.
work tjtx-94-89.58os.
wtmp Sat
3、NR显示行号,NF显示有多少个字符
[work()@bjdhj-183-67 ~]$ last -n 5 |awk '{print $1 "\t lines:" NR $3 "\t colums:" NF }'
work lines:1tjtx-94-89.58os. colums:10
work lines:2tjtx-94-89.58os. colums:10
work lines:3tjtx-94-89.58os. colums:10
work lines:4tjtx-94-89.58os. colums:10
work lines:5tjtx-94-89.58os. colums:10
lines:6 colums:0
wtmp lines:7Sat colums:7
网友评论