![grep 模式语法](https://linux22.com/image/111800/grep%20%E6%A8%A1%E5%BC%8F%E8%AF%AD%E6%B3%95%20.png)
我有一个文件,其名称是我用三个文件创建的。如果任何文件中不存在该模式,我想要 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