別のディレクトリにコピーするサブディレクトリがあるディレクトリがあります。私の現在の素朴なアプローチは次のとおりです。
find src_dir -type d -exec mkdir -p dest_dir/{} \;
うまくいきますが、mkdir
順番に多くの冗長呼び出しを行います。
また、参考までに以下を試しました。
# real fast
find src_dir -type d >/dev/null
# also real fast
find src_dir -type d -exec true {} +
# slower, but not as slow as mkdir
find src_dir -type d -exec true {} \;
冗長性を減らし、exec呼び出しを減らすより良い方法はありますか?
ベストアンサー1
rsyncとフィルタリング(-f)を使用すると、次のようにディレクトリをフィルタリングし、他のすべての項目をフィルタリングできます。
rsync -av -f "+ */" -f "- *" src_dir/ new_dir/