세 개의 파일로 만든 이름의 파일이 있습니다. 파일에 패턴이 없으면 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