正则表达式包括管道

时间:2014-05-16 23:28:06

标签: regex grep

文件:

one|two|three|peter01|five|six
one|peter01|three|four|five|six

输出:

one|two|three|peter01|five|six

如何仅在第4个字段中grep peter01?

我试过了:

egrep "^*\|*\|*\|peter01\|*$"

但没有运气!

1 个答案:

答案 0 :(得分:2)

是否必须grep?这是awk

的好用
awk -F'\|' '$4 == "peter01"'

正则表达式的问题在于您在*之前遗漏了某些内容。它应该是:

egrep '^[^|]*\|[^|]*\|[^|]*\|peter01\|'