ディレクトリスケルトンのコピー - フォルダとファイル名のみをコピーし、ファイルの内容はコピーしません。

ディレクトリスケルトンのコピー - フォルダとファイル名のみをコピーし、ファイルの内容はコピーしません。

フォルダとすべてのサブフォルダをコピーしたいのですが、このディレクトリにあるファイルの内容はコピーしたくありません。

コピーしたいフォルダが次のようになっているとします。

Folder0
     Folder00
          File000.x      1GB
          File001.x      500MB
     Folder01
          File010.x      600MB

次のコピーを作成したいと思います。

Folder0
     Folder00
          File000.x      1KB
          File001.x      1KB
     Folder01
          File010.x      1KB

これをどうするように助言しますか?

または、まずフォルダの通常のコピーを作成してから、各ファイルの内容をクリーンアップすることもできます。

答え1

以下を使用して見つけることができます。

find src/ -type d -exec mkdir -p dest/{} \; \
       -o -type f -exec touch dest/{} \;

-d()の下にディレクトリ()を見つけ、その下に()​​を作成するか、()の下にsrc/ファイル()を作成し、その下に作成します。mkdir -pdest/-o-ftouchdest/

結果は次のとおりです。

dest/src/<file-structre>

mvこの問題を創造的に解決できます。


rsyncを介して別の(部分的な)解決策を得ることができます。

rsync -a --filter="-! */" sorce_dir/ target_dir/

ここでの秘密は、--filter=RULEディレクトリ()ではなく-すべてを除外()するオプションです。!*/

関連情報