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


28

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

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

これはどういうわけか「検索」で実行できますか?

回答:


41

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

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

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


ここで少しフォローアップ:コピーが終了し、/ src / *は/ dest / src / *にありますrsyncを使用して/ dest / *で/ src / *を取得する方法は?
macek

試してください/source/ /dest
ジョンT

これは機能しません。まだ* .FOOファイルがコピーされています。
ジェイク

のパスの指定方法が指定されています--exclude。問題がある場合は、この回答をご覧ください
totymedli

0

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

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

再帰的にコピーする必要がある場合は、圧縮にzを使用し、rオプションを使用するのが常に適切です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.