파일을 검색하고 여러 대상 디렉터리로 이동하는 방법은 무엇입니까?

파일을 검색하고 여러 대상 디렉터리로 이동하는 방법은 무엇입니까?

find 명령을 사용하여 단일 파일을 검색하고 여러 폴더로 이동하는 방법은 무엇입니까?

다음 명령을 시도했지만 운이 없었습니다.

find /export/logs/tmp/logs/* -type f -name f_apec_`echo $(date  +"%Y-%m-%d")`_1 -exec mv -v {} /export/logs/nucleus1/ /export/logs/nucleus2/ \;

답변1

파일을 여러 디렉터리로 이동할 수는 없지만 사용자 고유의 명령을 사용하여 모든 대상에 복사하고 마지막 디렉터리로 이동할 수 있습니다.

find /export/logs/tmp/logs/ -type f -name "f_apec_$(date +"%Y-%m-%d")_1" -exec echo cp -v '{}' /export/logs/nucleus1/ \; -exec echo mv -v '{}' /export/logs/nucleus2/ \;

다음 명령을 사용하여 파일을 여러 디렉터리에 복사할 수도 있습니다 xargs.

echo dir1/ dir2/ dir3/ | xargs -n1 cp /path/to/Onefile

답변2

첫째, mv파일을 복사하는 것이 아니라 이동하는 것입니다. 를 사용해야 cp하지만 cp여러 파일을 단일 대상에 복사할 수 있습니다.

이 작업을 여러 번 수행해야 합니다 cp. 사용할 수 있는 한 가지 솔루션은 매개 변수를 여러 대상에 복사하는 간단한 스크립트를 만드는 것입니다. 그런 다음 해당 파일을 명령의 인수로 사용하여 스크립트를 실행 find .. -exec {}하고 스크립트에서 여러 번 복사합니다.

관련 정보