
我有一個文件,其名稱是我用三個文件創建的。如果任何檔案中不存在該模式,我想要 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