파일 이름을 출력하지 않고 `grep` 가져오기

파일 이름을 출력하지 않고 `grep` 가져오기

여러 파일을 검색 하는 데 사용하면 grep -o파일 이름 앞에 붙은 각 결과가 출력됩니다. 이 접두어를 어떻게 차단할 수 있나요? 파일 이름 없이 결과를 원합니다.

답변1

grep이 옵션은 (또한 설명됨 -o) 또는 호환 가능한 GNU 구현을 통해 사용할 수 있습니다 -h.

-h, --no-filename
          Suppress the prefixing of file names on  output.   This  is  the
          default  when there is only one file (or only standard input) to
          search.

다른 구현의 경우 언제든지 파일을 cat출력 과 grep연결할 수 있습니다.

cat ./*.txt | grep regexp

또는 대신에 sed다음을 사용하십시오 :awkgrep

awk '/regexp/' ./*.txt

(예: with 와 같은 확장 정규식 grep -E)

sed '/regexp/!d/' ./*.txt

grep(with Without 와 같은 기본 정규식 . 이제 -E많은 구현 에서 정규식 확장 옵션도 지원합니다).sed-E

답변2

에서 파일 이름을 숨기는 옵션을 git grep사용하십시오 .-h

git grep -h <pattern>

이 옵션은 --no-filenamegit grep에서는 작동하지 않습니다.

관련 정보