私は映画ファイルの巨大なディレクトリ構造を持っています。その構造を分析するために、ディレクトリ構造全体、つまりフォルダとファイルをコピーしたいのですが、ファイル名を保持したいのに、すべてのムービーファイルをコピーしたくありません。理想的には、元のムービーファイル名でゼロバイトのファイルを取得します。
リンクファイルをフェッチしなかったリモートマシンにrsyncを実行しようとしました。
スクリプトを書かずにそれを行う方法はありますか?
検索を使用できます:
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除外 ( ) するオプションです。-!*/
ubuntuでは以下を試すことができます:
cp -r --attributes-only <source_dir> <target_dir>
ファイルデータはコピーされません。のマンページからcp
--attributes-only
don't copy the file data, just the attributes
注:このオプションが他のディストリビューションで利用できるかどうかはわかりません。誰かが確認できる場合は、回答を更新してください。
ls> listOfMovie.txt; 映画のリストは.txtファイルにあります。複数のディレクトリについては、マニュアルページを参照してください。