Grep:只有*不在*另一种模式

时间:2018-05-25 12:32:56

标签: grep

我尝试让grep找到一个模式,只有它不在另一个模式之后。 因此,举例来说,在下面的三行中,如果不在foo之后,我正在寻找#(你猜到为什么: - )

1./make_maps_meteo_ecmwf.pl:# foo

2./make_maps_meteo_ecmwf.pl: foo

3./make_maps_meteo_ecmwf.pl: foo #

我需要第2行和第3行,而不是第1行。

这没有帮助:

grep '[^#].*foo'

管道grep没有帮助,因为它将排除第3行

grep 'foo' | grep -v '#'

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

#之前的foo

$ grep "^[^#]*foo" file
2./make_maps_meteo_ecmwf.pl: foo
3./make_maps_meteo_ecmwf.pl: foo #