web-dev-qa-db-ja.com

rsyncを使用して、特定の拡張子を持つ特定のファイル名を除くすべてのファイルをコピーします

同じサイズのフラッシュカードが2枚あり、次のルールに基づいて、一方のコンテンツをもう一方にコピーしたい。

  1. すべてのディレクトリとサブディレクトリを配置したい
  2. タイプ.FOO、.BAR、および.ZIMのファイルを除外したい(他のすべてのファイルがコピーされます)
  3. ボーナス:ファイルがコピーされるときにファイル名を出力するのは、8 GBの情報をコピーすることになるので、すばらしいことです。

これはどういうわけか「見つける」で行うことができますか?

31
macek

これは、--excludeスイッチで rsync を使用すると大幅に簡単になります

rsync -av --exclude='*.FOO' --exclude='*.BAR' --exclude='*.ZIM' /source /dest

-vスイッチは、同期されているファイルに関する詳細な出力を提供します。

45
John T

除外する拡張子が多数ある場合は、ファイルを作成してすべての拡張子またはファイルを書き留め、除外オプションを1つだけ使用して簡単にすることができます。

rsync -ravz --exclude = '。/ abc、txt'/source/dest

再帰的にコピーする必要がある場合は、圧縮にzを使用し、rオプションを使用することをお勧めします。

0
amit singh