grepパターン構文[閉じる]

grepパターン構文[閉じる]

3つのファイルで作成された名前のファイルがあります。ファイルにパターンがない場合は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

*+エラーは、前に何もないか、または同じ数量子があることを意味します。

X.nam私はあなたが単語を正規表現として扱うことを望まないと思います。文字通り一致する必要があります。 PCREでは、パターンの一部をまとめて参照でき\Qます\E

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

関連情報