모든 파일을 찾아 grep 검색 패턴에 결과 사용

모든 파일을 찾아 grep 검색 패턴에 결과 사용

find와 xarg 또는 exec의 조합을 사용하여 결과에서 특정 패턴을 검색하는 예를 찾았습니다. 링크 참조여기.
그러나 find 명령의 결과를 grep의 검색 패턴으로 사용하고 싶습니다. 아래 명령과 비슷하지만 구성 방법을 잘 모르겠습니다.

find . -name "*.cgi" -printf '%f\n' | cut -d. -f1 | xarg grep 'find_result' *.html

답변1

GNU 를 가정 grep하고 파일 이름에 개행 문자가 포함되어 있지 않다고 가정합니다.

find . -name '*.cgi' -printf '%f\n' | cut -d. -f1 | sort -u | fgrep -f - *.html

답변2

여기서는 필요하지 않습니다 . stdin에서 패턴 목록을 읽으면 xargs됩니다 .grep

GNU 찾기:

find . -name '*cgi' -printf '%f\n' | grep -f - *html

그렇지 않으면:

find . -name '*cgi' | cut -f2- -d/ | grep -f - *html

관련 정보