grep을 사용하여 여러 옵션을 검색하는 방법


6

grep을 사용하여 'res'또는 'rep'로 줄을 검색하려면 어떻게해야합니까?

"grep -e res | rep"또는 gre -e "rep | rep"을 시도했지만 작동하지 않습니다.

답변:


16

grep과 함께 -E 옵션을 사용할 수도 있으므로 "|"를 이스케이프 할 필요가 없습니다. 예를 들면 다음과 같습니다.

grep -E 'res | rep'파일

또는 grep -E와 동일한 egrep을 사용할 수 있습니다.

egrep 'res | rep'파일


내가 할 때 이것은 OS X에서 작동하지 않았다 pmset -g sched | grep -E "shutdown|restart|sleep". (둘 다 사용하지 않았습니다 egrep.)
2rs2ts 2016 년

8

파이프 문자를 이스케이프해야합니다.

grep 'res\|rep' file

또는 여러 -e옵션을 사용하십시오 .

grep -e 'res' -e 'rep' file

0
  • 정규식은 다음과 같습니다.

    편집하다 grep -nis "re[sp]" <FILENAME>

  • 이렇게하면 "res"또는 "rep"가 포함 된 모든 줄이 표시됩니다.

  • 또한 -nis여기서 중요하지 않다는 점에 유의 하십시오. 나는 그런 식으로 좋아합니다 ... :)


1
아마도 re[sp]res 또는 rep라는 파일이있는 경우 쉘에서 실수로 확장되지 않도록 탈출하려고합니다 .
hlovdal

옵션 목록 다음에 처음이기 때문에 패턴으로 해석되므로 필요하지 않습니다.
Dlf

2
hlovdal의 의견이 정확합니다. 쉘이 명령 행을 "grep -nis rep res <FILENAME>"으로 변환하기 때문에 'res'및 'rep'라는 파일이 존재하면 주어진 응답이 중단됩니다. 따라서 'res'가 발생하지 않습니다. 대신 'res'및 <FILENAME> 파일에서 'rep'을 검색하십시오.
Jonathan Hartley

패턴이 잘 해석되도록 큰 따옴표를 추가했습니다.
Dlf
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.