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

相關內容