そのディレクトリのファイルをシステム内の他のフォルダにコピーせずに、ディレクトリ内のすべてのフォルダとサブフォルダをコピーする方法

そのディレクトリのファイルをシステム内の他のフォルダにコピーせずに、ディレクトリ内のすべてのフォルダとサブフォルダをコピーする方法

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

答え3

rsyncすごいmtree!残念ながら、常に使用できるわけではありません。より移植可能な方法は次のとおりです。

(cd ~/Downloads && find . -mindepth 1 -type d -print0) | (cd target_dir; xargs -0 mkdir -p)

関連情報