여러 파일을 검색 하는 데 사용하면 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
다음을 사용하십시오 :awk
grep
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-filename
git grep에서는 작동하지 않습니다.