linux awk 命令处理文本

awk 是 linux 平台上处理文本信息的工具,可以按列取数据,对数据进行格式化等操作。

1. awk 取某个列的数据

取 date 输出结果中的第 4 列数据:

[zhang@localhost ~]$ date
Fri Aug 18 16:09:03 CST 2023
[zhang@localhost ~]$ date | awk '{print $4}'
16:09:26

取 date 输出结果中的第 2,3,4 列数据:

[zhang@localhost ~]$ date
Fri Aug 18 16:10:22 CST 2023
[zhang@localhost ~]$ date | awk '{print $2,$3,$4}'
Aug 18 16:10:23

2. awk 指定分割字符

awk 默认按空格或者 TAB 对列进行分割,也可以指定分割字符,比如按:进行分割,取第 2 列,如下:

[zhang@localhost ~]$ date
Fri Aug 18 16:12:41 CST 2023
[zhang@localhost ~]$ date | awk -F: '{print $2}'
12

3. awk 格式化输出结果

通过 awk 可以对输出结果进行格式化,如下:

[zhang@localhost ~]$ date
Fri Aug 18 16:15:59 CST 2023
[zhang@localhost ~]$ date | awk '{printf "%-5s %-5s %-5s %-10s\n",$6,$2,$3,$4}'
2023  Aug   18    16:16:00

文章评论

0条评论