.R 拡張子に対する rsync フィルタリングは機能しません。

.R 拡張子に対する rsync フィルタリングは機能しません。

これが私が使用するものです:

rsync -rav --include '*/' --exclude '*' --include '*.R' user@remote:/folder/. .

リモートフォルダとすべてのサブディレクトリにあるすべての.Rファイルをコピーしようとしています。その結果、すべてのディレクトリがコピーされましたが空です。

ここで私はどこで間違っていますか?

よろしくお願いします!

注:私はこの記事に言及しています:rsyncはincludeオプションを使用して特定の種類のファイルのみをコピーします。

答え1

2つのことを変更し、1つの提案を考慮する必要があります。

  • .R包含および除外ディレクティブは左から右に処理されるため、すべてを除外する前にファイル(その他)を含める必要があります。
  • --prune-empty-dirsターゲットにのみ関連ディレクトリを作成するために使用します。
  • -r意味するように、そうする必要はありません。-a

だから

rsync -av --prune-empty-dirs --include '*/' --include '*.R' --exclude '*' user@remote:/folder/ .

関連情報