私はインターネットをシャットダウンし、正規表現サイトと他のすべてを見ましたが、私が望むものを得るためにrsyncコマンドを書くことはできません。
FreeBSDバージョンをミラーリングする必要がありますが、RCバージョンとBETAバージョンはミラーリングしないでください。したがって、名前にRELEASEを含むフォルダーは、そのフォルダー内のすべてのファイルとサブフォルダーと一緒にrsyncします。
この時点で、私は成功せずに次のコマンドを実行しました。
rsync -vaz --delete --dry-run ftp2.br.freebsd.org::FreeBSD/releases/amd64 /usr/repos --include=".{0,}(RELEASE)" --filter="-! */"
次のフォルダ構造を想像してみましょう。
amd64/8.3-RELEASE/
amd64/8.4-RC2/
amd64/amd64/10.0-RC5/
amd64/amd64/10.0-RELEASE/
amd64/amd64/9.1-RELEASE/
amd64/amd64/9.2-BETA1/
amd64/amd64/9.2-BETA2/
amd64/amd64/9.2-RC1/
この場合、rsyncは次のもののみをインポートする必要があります。
amd64/8.3-RELEASE/
amd64/amd64/10.0-RELEASE/
amd64/amd64/9.1-RELEASE/
答え1
この試み:
$ rsync -vaz --delete --dry-run ftp2.br.freebsd.org::FreeBSD/releases/amd64 /usr/repos \
--include="*RELEASE/***" --include="*/" --exclude="*" --prune-empty-dirs
私の考えでは、それはあなたが追いかけていることだと思います。