이미 작성된 스크립트에 find를 어떻게 사용합니까?

이미 작성된 스크립트에 find를 어떻게 사용합니까?

마지막으로 수정된 파일을 찾는 방법을 알고 있지만 이미 작성한 스크립트와 함께 사용하려면 어떻게 해야 합니까? 폴더에 수백 개의 파일이 있고 xyz_<yyyymm>지금 사용하고 있지만 $ find /home/directory/TEST/ -type f -mmin -60중간에 충돌이 발생합니다.

답변1

find 명령의 각 결과에 대해 스크립트를 실행하려면 이를 사용할 수 있지만 일반적으로 xargsfind와 함께 사용하는 것을 선호합니다. -exec그래서 당신은 이것을 할 수 있습니다 :

find /home/directory/TEST/ -type f -mmin -60 -exec /path/to/your/script {} \;

일치하는 파일의 이름은 각 일치 항목의 위치 find에 배치됩니다.{}

답변2

find이는 여러 파일을 반복한 다음 각 파일 이름을 스크립트에 전달하려는 경우 , xargs특히 파일 목록이 매우 크고 중간에 충돌이 발생하는 경우에 효과적입니다.

여기에서는 현재 작업 디렉토리를 반복하여 모든 파일을 찾은 다음 각 파일 이름을 이름을 인쇄하는 perl 스크립트에 전달합니다.

find . -type f | xargs -0 ./script.pl

find필요에 맞게 명령 문자열을 조정할 수 있습니다 .

관련 정보