为什么grep会给搜索模式带来错误,即grep:<some pattern =“”>:没有这样的文件或目录

时间:2016-12-22 11:29:34

标签: linux bash unix grep

我想使用grep模式匹配打印选定的行。我正在使用以下命令 -

cat MyTest.txt | grep -v -E B1 "EEB|SET|PET"
grep: EEB|SET|PET: No such file or directory

我总是遇到grep错误。

    1. 我想打印与我提到的图案或图案相匹配的线条,即EEB或SET或PET或所有这些和
    1. 匹配行之前的一行。因此选项-B1

2 个答案:

答案 0 :(得分:1)

您可以使用此命令而不会使用cat

grep -v -E -B1 "EEB|SET|PET" MyTest.txt

-之前注意B1

但是,根据您的描述,您可能不需要-v(反向结果),并希望如此:

grep -E -B1 "EEB|SET|PET" MyTest.txt

答案 1 :(得分:1)

Grep具有以下语法:

grep options pattern input_file_names

其中options是可选的,但不是pattern。因此,没有“ - ”的B1用作模式,“EEB | SET | PET”用作file_names。

您应该将“B1”更改为“-B1”。

作为推荐

cat MyTest.txt | grep -v -E -B1 "EEB|SET|PET"

grep -v -E -B1 "EEB|SET|PET" MyTest.txt