Linux grep无停止或回音“;“未找到”;

Linux grep无停止或回音“;“未找到”;,linux,grep,Linux,Grep,我有一个bash文件,其中包含一些我想从文本文件中搜索的模式,并将匹配模式的整行写入一个新文件 grep -P "^AAA," $score >> Pscores.txt && grep -P "^BBB," $score >> Pscores.txt && grep -P "^CCC," $score >> Pscores.txt && grep -P "^DDD," $score >> Pscor

我有一个bash文件,其中包含一些我想从文本文件中搜索的模式,并将匹配模式的整行写入一个新文件

grep -P "^AAA," $score >> Pscores.txt &&
grep -P "^BBB," $score >> Pscores.txt &&
grep -P "^CCC," $score >> Pscores.txt &&
grep -P "^DDD," $score >> Pscores.txt &&
但是,
$score
中没有BBB,则bash已停止。
如何将其更改为在不停止的情况下通过或仅
echo BBB not found

语法应如下所示:

grep --option 'PATTERN' [FILENAME] >> output_file
这里我们可以介绍一个“;”semicolan,它将逐行终止请求,并提供更好的理解

因此,本例中的grep命令如下所示:

grep -P "^CCC," $score >> Pscores.txt

只需删除尾随的
&&
。是否要按顺序存储它们?因为否则你可以说
grep-E'^(AAA | BBB | CCC | DDD),
@fedorqui,如果它包含多个匹配项,那么它也只能打印一行,而不是每次匹配重复一行,这可能是可取的,也可能不是可取的,idk。用户..-您的regexp中没有任何东西需要更慢的perl兼容的regexp引擎,因此请丢失
-P
。另外,总是引用shell变量(googleit)。