동적 이름을 가진 특정 디렉토리만 grep

동적 이름을 가진 특정 디렉토리만 grep

다음과 같은 폴더 목록이 있습니다.

/customer/<dynamic value>/<job id>/temp_data/processing/bko

현재 나의 grep모습:

find . path "*/temp_data/processing/bko/*/out/*" -exec grep -R "NOT FOUND" --include=\*.ind /dev/null {} +

다음과 같이 원하는 위치에서 원하는 결과를 가져옵니다.

./<dynamic value>/<job id>/temp_data/processing/bko/<filename>/out/<filename>.ind

하지만 다음과 같은 결과도 얻습니다.

/<dynamic value>/<job id>/temp_data/processing/<filename>.ind

답변1

-당신은 앞부분을 놓치고 있습니다 . path그게 틀림없어요 -path.

-type f또한 옵션을 추가 find하고 -R옵션을 제거 할 수도 있습니다 grep( find명령은 재귀를 고려함).

find . -path "*/temp_data/processing/bko/*/out/*" -type f \
  -exec grep "NOT FOUND" --include=\*.ind {} +

관련 정보