내 다운로드에는 약 500개의 폴더가 있습니다. 그 500개 폴더 중 대부분에는 다른 폴더도 있습니다. 이 다운로드 디렉터리의 폴더를 복사하고 싶습니다. 여기에는 폴더 내의 폴더가 포함됩니다.
최종 목표는 단일 파일 없이 약 500개의 폴더와 약 500개의 하위 폴더를 포함하는 새 디렉터리를 만드는 것입니다.
할 수 있나요? 테스트할 준비가 되었습니다.
답변1
당신이 원하는 것은 디렉토리 구조 복사라는 것입니다.rsync
rsync -av --include='*/' --exclude='*' ~/Downloads ~/dls/
또는
rsync -av -f"+ */" -f"- *" ~/Downloads ~/dls/
답변2
mtree
훌륭한 도구입니다.
$ mkdir ~/newDir
$ mtree -cdp ~/Downloads | mtree -Up ~/newDir
첫 번째 호출은 ath 와 관련된 디렉터리 mtree
c
만 참조하는 사양을 만듭니다 . 이 출력은 업데이트의 상대 디렉터리 경로를 업데이트하는 두 번째 호출로 파이프됩니다 . 보다 구체적으로 이 경우 "업데이트"는 누락된 항목을 생성하는 것을 의미합니다. 생성된 사양에는 디렉터리만 포함되어 있으므로 디렉터리 구조만 생성됩니다.d
p
~/Downloads
mtree
U
~/newDir
~/Downloads
답변3
rsync
엄청난 mtree
! 불행히도 항상 사용할 수 있는 것은 아닙니다. 보다 이식 가능한 방법은 다음과 같습니다.
(cd ~/Downloads && find . -mindepth 1 -type d -print0) | (cd target_dir; xargs -0 mkdir -p)