使用awk查找列是否包含“|”

时间:2016-07-27 20:10:16

标签: awk

这是我正在尝试运行的命令

awk '/$4 ~ \|/' text.txt

这就是text.txt

中的内容
27  34  83  38|27   93
38  38  02  38  02

我想要

27  34  83  38|27   93

作为输出,但我什么都没有收到

3 个答案:

答案 0 :(得分:4)

您需要将$4与正则表达式文字匹配,而不是将其放在注册表中。

尝试

awk '$4 ~ /\|/' text.txt

答案 1 :(得分:3)

awk命令:

awk '/$4 ~ \|/' text.txt

这里的问题是它将整个字符串$4 ~ \|视为正则表达式。你可能想要

 awk '$4 ~ /\|/' text.txt

答案 2 :(得分:1)

您可以使用管道作为分隔符拆分记录,然后仅输出有多于1个字段的记录:

awk -F"|" 'NF>1' yourfile.txt