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

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



답변

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

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

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 스레드의 정보


답변

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

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

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

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