rsyncは、同期後にソースから一部のファイル拡張子のみを削除します。

rsyncは、同期後にソースから一部のファイル拡張子のみを削除します。

jpeg私のローカルコンピュータには、多くのファイル(および)を含むいくつかのディレクトリ(サブディレクトリを含む)がありますnef。たとえば、次のようになります。

1.jpg
1.nef
2.jpg
2.nef
....

私がやりたいことは、HD内のすべてのファイル(およびjpeg)を同期することですnef。ただし、同期後はローカルコンピュータのファイルのみを削除しnefてアーカイブしますjpg

これをと組み合わせる方法はありますか--remove-source-files

ベストアンサー1

安全のために.nefrsyncたとえば、次のようになります。

rsync --verbose --archive --prune-empty-dirs \
    --include='*.nef' \
    --include='*.jpg' \
    --include='*/' \
    --exclude='*' \
    "$source/" "$target"

find "$source" -type f -name '*.nef' -delete

ここのコマンドはおよびファイルのみをrsyncコピーし(他のファイルはスキップして空のディレクトリを作成しません)、コマンドはすべてのファイルを削除します。.nef.jpg$target--prune-empty-dirsfind.nef

私は決して--remove-source-files一緒に使用しない傾向がありますrsync

おすすめ記事