小编gem*_*mma的帖子

使用带有否定前瞻断言的 grep

我有与这篇文章完全相同的问题,但是在 bash 中,正则表达式对我不起作用。正则表达式排除,寻找一个没有跟在另一个词后面的词

我想包含包含单词“Tom”的 csv 文件的所有行,除非后面跟着“Thumb”。

  • 包括:汤姆坐在海边。
  • 不包括:Tom Thumb 坐在海边。
  • 包括:Tom 和 Tom Thumb 坐在海边。

Tom(?!\s+Thumb)当我在 regex101.com 上试用时,正则表达式可以工作。

但是我已经尝试了所有这些变体,但没有一个起作用。我错过了什么,我该如何解决这个问题?我在 Mac 上。

cat inputfile.csv | grep Tom(?!\s+Thumb) > Tom.csv
cat inputfile.csv | egrep Tom(?!\s+Thumb) > Tom.csv
cat inputfile.csv | egrep “Tom(?!\s+Thumb)” > Tom.csv
cat inputfile.csv | grep -E Tom(?!\s+Thumb) > Tom.csv
cat inputfile.csv | grep -E “Tom(?!\s+Thumb)” > Tom.csv

regex bash grep

1
推荐指数
1
解决办法
177
查看次数

标签 统计

bash ×1

grep ×1

regex ×1