조건에 따라 파일 복사

조건에 따라 파일 복사

이것이 내가 해결하려는 문제입니다.

  • 일부 파일과 다른 디렉터리를 포함하는 디렉터리 "A"가 있다고 가정해 보겠습니다.
  • A 디렉터리의 모든 파일을 B 디렉터리로 복사하고 싶습니다.
  • 폴더 A 내의 모든 폴더를 폴더 C에 재귀적으로 복사하고 싶습니다.

UNIX/Linux에서 이를 달성하는 가장 짧고 플랫폼 중립적인 방법은 무엇입니까?

답변1

아마도 이렇게

find A -type f -maxdepth 1 -exec cp {} B/ \;

그리고

find A -type d -maxdepth 1 -mindepth 1 -exec cp -r {} C/ \;

그 중에는 -type찾고 있는 유형(파일 또는 디렉터리), - maxdepth디렉터리 깊이 및 -exec결과에 대해 실행할 명령을 식별하는 플래그가 있습니다.

답변2

다음으로 끝나는 glob 패턴이 cp있는 경우 복사 디렉터리를 사용할 수 있습니다 ./

cp -a A/*/ C/

-a(와 유사 -r) 옵션 을 사용하지 않고도 파일을 복사할 수 있습니다.

cp A/* B/

마지막 명령은 복사되지 않은 디렉터리에 무해한 오류를 제공합니다.

관련 정보