
私のダウンロードには約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
参照する仕様を作成します。この出力は、更新の相対ディレクトリパスを更新する2番目の呼び出しにパイプされます。より具体的には、この場合、「更新」とは、欠落している項目を生成することを意味します。生成された仕様にはディレクトリのみが含まれているため、ディレクトリ構造のみが生成されます。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)