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

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

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

複製したいフォルダが

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 を使用できます:

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

-d( ) の下にあるディレクトリ ( ) を見つけてsrc/mkdir -pその下に ( )を作成するdest/か、または ( -o) でファイル ( -f) を見つけて、touchその下に作成しますdest/

結果は次のようになります:

dest/src/<file-structre>

mvこの問題を解決するには、創造的にユーザーを活用する必要があります。


他の(部分的な)解決策は rsync で実現できます。

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

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

関連情報