awk脚本中的字段分隔符

时间:2018-09-17 05:31:30

标签: shell unix awk

我正在尝试使用awk打印文件中由|分隔的列。

文件内容:

 postgres  | psql                   |               | 2018-09-17 05:00:45.096491+00 |            | active
 test_user | PostgreSQL JDBC Driver | ***.**.**.118 | 2018-09-17 03:55:22.310569+00 |            | idle in transaction
 test_user | PostgreSQL JDBC Driver | ***.**.**.95  | 2018-09-17 03:54:58.638521+00 |            | idle in transaction

我正在使用以下awk命令来分隔文件中的列。

 awk 'BEGIN { RS = "|" } ; { print $2 }' vv.txt

另请参阅附有图像的图像,该图像给出了有关问题的清晰思路。 我不确定为什么会弄乱数据?是否也考虑将空间用作分隔符?

enter image description here

1 个答案:

答案 0 :(得分:0)

问题:

如评论中所述,您修改了记录分隔符而不是字段分隔符。

解决方案:

awk -F'|' '{ print $2 }' vv.txt

输出:

psql
PostgreSQL JDBC Driver
PostgreSQL JDBC Driver