최소한의 명령 수를 사용하여 모든 하위 디렉터리의 모든 .txt 파일을 디렉터리에 복사하려면 어떻게 해야 합니까?

최소한의 명령 수를 사용하여 모든 하위 디렉터리의 모든 .txt 파일을 디렉터리에 복사하려면 어떻게 해야 합니까?

90개가 넘는 하위 디렉터리가 있고 각 하위 디렉터리에는 많은 .txt 파일이 있습니다.

내가 해야 할 일은 이 모든 txt 파일을 디렉터리에 복사하는 것입니다.

어떻게 해야 하나요?

답변1

사용 명령:

find . -name "*.txt" -exec cp {} /path/to/destination \;

답변2

cp파일당 하나씩 실행하지 않으려면 ( 과 동일 -exec cp {} /dest \;):

find . -name '*.txt" -type f -exec sh -c '
  exec cp "$@" /path/to/destination' sh {} +

또는 GNU를 사용하십시오 cp:

find . -name '*.txt" -type f -exec cp -t /path/to/destination {} +

그리고 zsh:

cp ./**/*.txt(.) /path/to/destination

또는

cp ./**/*.txt(D.) /path/to/destination

find솔루션과 같이 숨겨진 파일(또는 숨겨진 디렉터리의 파일)을 포함 하려는 경우 .

관련 정보