1일 이내에 모든 파일을 재귀적으로 복사하는 방법은 무엇입니까?

1일 이내에 모든 파일을 재귀적으로 복사하는 방법은 무엇입니까?

1일 이내에 모든 파일을 재귀적으로 복사하는 방법은 무엇입니까?

나의 첫 시도

find . -amin -1440 | xargs cp /dest

하지만 해당 항목이 매개변수 앞에 xargs위치해야 하기 때문에 작동하지 않습니다 ./dest

답변1

-tGNU 옵션을 사용할 수 있습니다 cp.

   -t, --target-directory=DIRECTORY
          copy all SOURCE arguments into DIRECTORY

find's 도 사용해야 합니다 -print0. xargs -0그렇지 않으면 공백이나 기타 이상한 문자가 포함된 파일 이름에 대해 실패합니다.

find . -amin -1440 -print0 | xargs -O cp -t /dest

더 나은 접근 방식은 자체를 사용 find하고 xargs완전히 피하는 것입니다.

find . -amin -1440 -exec cp -t /dest {} +

마지막으로 "파일"을 언급했으므로 디렉토리, 심볼릭 링크 및 기타 이상한 항목을 건너뛰고 find일반 파일만 찾도록 지시할 수 있습니다.

find . -type f -amin -1440 -exec cp -t /dest {} +

관련 정보