linux命令学习之awk

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

你可能感兴趣的:(linux命令学习之awk)