grep 模式语法

grep 模式语法

我有一个文件,其名称是我用三个文件创建的。如果任何文件中不存在该模式,我想要 grep 0;如果存在该模式,我想要 grep 1 我正在使用此命令

cat X.nam |xargs -i grep -c -P '{}$' A.nam > a

我收到这个错误

grep nothing to repeat

X.nam
A
AADLGS
AAEGVG
AAGVGTWP
AASLSSIT
AASLSSVN
AASLTGCN
ACL*AML
ACLSGSA
ACL*VVM
A.nam
AAGVGTWP
AASLSSIT
AASLSSVN
AASLTGCN
ACL*AML
ACLSGSA

答案1

*该错误意味着您有一个类似于或 的量词,+前面没有任何内容。

我怀疑您不希望将 in 中的单词X.nam视为正则表达式,它们应该按字面匹配。在 PCRE 中,您可以将模式的一部分括起来\Q\E引用它们。

cat X.nam |xargs -i grep -c -P '\Q{}\E$' A.nam > a

相关内容