我想使用grep模式匹配打印选定的行。我正在使用以下命令 -
cat MyTest.txt | grep -v -E B1 "EEB|SET|PET"
grep: EEB|SET|PET: No such file or directory
我总是遇到grep错误。
-B1
答案 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