모든 하위 폴더에서 파일을 찾아 입력으로 사용

모든 하위 폴더에서 파일을 찾아 입력으로 사용

an_*입력 파일 과 실행 파일이 포함된 하위 폴더가 많이 있습니다 run. 하위 폴더에서 한 번 실행되는 명령줄은 입니다 ./run <an_*.

내가 원하는 것은 파일이 포함된 모든 하위 폴더를 찾아 an_*입력으로 실행하는 것입니다. 최선의 선택은 다음과 같습니다. 하지만 그것은 작동하지 않습니다.runan_*find -name an_* -execdir ./run <'{}' \;

답변1

find 명령줄에서 입력 리디렉션을 제거하면 < 쉘은 입력을 다음으로 리디렉션하려고 시도합니다.찾다. 원하는 것은 find가 실행하는 명령에서 리디렉션이 발생하는 것입니다. 그러나 find리디렉션을 수행하는 방법을 모르므로 제공한 명령을 구문 분석하기 위해 셸을 실행하도록 명시적으로 요청해야 합니다. 이 같은:

find -name "an_*" -execdir sh -c "./run < {}" \;

관련 정보