私は映画ファイルの巨大なディレクトリ構造を持っています。その構造を分析するために、ディレクトリ構造全体、つまりフォルダとファイルをコピーしたいのですが、ファイル名を保持したいのに、すべてのムービーファイルをコピーしたくありません。理想的には、元のムービーファイル名でゼロバイトのファイルを取得します。
リンクファイルをフェッチしなかったリモートマシンに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ファイルにあります。複数のディレクトリについては、マニュアルページを参照してください。