태그 보관물: grep

grep

grep에 공백 문자를 포함시키는 방법은 무엇입니까? 시키려고 .pdf하지만 결과는 없습니다”) 그리고

example이라는 파일이 있습니다

$ cat example

kali.pdf
linux.pdf
ubuntu.pdf
example.pdf.
this.pdf
grep .pdf

그리고 grep전에 공백이있는 줄을 얻는 데 사용할 때 얻을 .pdf수없는 것 같습니다.

grep *.pdf example

아무것도 반환하지 않습니다 ( “그 리핑하고 앞에 0 개 이상의 공백을 일치 시키려고 .pdf하지만 결과는 없습니다”)

그리고 내가 사용하면 :

grep i*.pdf example

kali.pdf
linux.pdf
ubuntu.pdf
example.pdf.
this.pdf
grep .pdf

모든 줄이 돌아옵니다. 왜냐하면 “grep, 나에게 i1 번 또는 0 번 일치 해 .”

그리고 마지막으로 :

grep " *.pdf" example

결과가 반환되지 않습니다

이 샘플에서는보고 싶습니다

grep .pdf

출력으로

내 생각에 어떤 문제가 있습니까?



답변

당신이 당신의 표현을 인용해야합니다. 나는 쉘 단어 쪼개기가 여기의 문제 중 하나라고 생각하지만, 모든 종류의 것들이 그렇지 않으면 잘못 될 수 있기 때문에 항상 정규 표현식을 인용해야합니다.

$ grep ' \.pdf' example
grep .pdf

또는 공백이 여러 개인 *경우 (앞 공백이없는 경우와 일치하므로 사용할 수 없음 )

grep ' \+\.pdf' example

+“이전 문자 중 하나 이상”을 의미합니다. BRE에서는 \이 특수 기능을 사용 하기 위해 이스케이프 처리해야 하지만이를 피하기 위해 ERE를 대신 사용할 수 있습니다.

grep -E ' +\.pdf' example

공백을 의미하기 위해 사용할 수도 있습니다 \s.grep

grep '\s\+\.pdf' example

.정규 표현식 .에서 문자 클래스에 있지 않는 한 문자를 의미 하기 때문에 리터럴을 이스케이프 처리해야합니다 .


답변