フォルダーとすべてのサブフォルダーを複製したいのですが、このディレクトリ内のファイルの内容は複製したくありません。
複製したいフォルダが
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
を除外する()オプションです。-
!
*/