터미널을 사용하여 컨텐츠 / 파일을 디렉토리의 모든 서브 디렉토리에 복사하십시오.


17

폴더의 모든 하위 폴더에 파일을 복사하고 싶습니다. 커맨드 라인으로 어떻게 할 수 있습니까?

답변:


26

모든 하위 폴더 (및 원하는 작업에 따라 하위 폴더)의 현재 작업 디렉토리에 파일을 넣는 방법

그러면 파일이 모든 하위 폴더에 배치되지만 하위 폴더에는 배치되지 않습니다.

for d in */; do cp water.txt "$d"; done

그러면 water.txt모든 하위 폴더와 하위 폴더에 파일이 저장됩니다 (water.txt의 모든 인스턴스를 복사하려는 파일 이름으로 변경).

for i in ./* # iterate over all files in current dir
do
    if [ -d "$i" ] # if it's a directory
    then
        cp water.txt "$i" # copy water.txt into it
    fi
done

이 linuxquestions 스레드의 정보


13

하나의 라이너를 사용할 수 있습니다.

find <target-dir> -type d -exec cp <the file> {} \;

깊이는 1-> 바로 디렉토리만으로 제한

find <target-dir> -type d -maxdepth 1 -exec cp <the file> {} \;


2
이것은 직속 서브 디렉토리뿐만 아니라 모든 서브 디렉토리를 재귀 적으로 수행합니다
Anake

2
@Anake가 내 답변을 업데이트했습니다
ortang

이 답변은 훌륭합니다!
진화 왕
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.