rsync
現在のフォルダ内のすべてのTIF画像ファイルを「Documents」の下の「HR」フォルダにコピーしようとしましたが、これまで成功しませんでした。
rsync -r *.tif /home/myusername/Documents/HR
私が見ることができるように、-r
オプションは再帰コピー用ですが、このコマンドは現在のフォルダにあるすべてのTIFファイルのみをコピーします。
誰が私がどこに間違っているのか教えてもらえますか?
現在のフォルダには、数百のTIFファイルを含む多層サブフォルダがたくさんあります。
ベストアンサー1
*
シェルによって拡張されたコマンドラインにワイルドカード()があるので、rsync
現在のディレクトリにあるTIFFファイルのリストを取得するのがわかります。たとえば、コマンドラインは次のように拡張できます。
rsync -r cry.tif frown.tif smile.tif /home/myusername/Documents/HR
これらのTIFFファイルはディレクトリではないため、rsync
そのファイルに再帰する方法はありません。
一方、これを試すと、rsync
ディレクトリを見つけてそのディレクトリに再帰的に入る機会を活用できます。私はこの-a
フラグを使用してファイルメタデータ(権限、タイムスタンプ)を保持します。この試みは、で終わるファイルだけでなく、すべてのファイルをコピーしますが、十分であれば.tif
理解しやすい解決策は次のとおりです。
rsync -a . /home/myusername/Documents/HR/
これでパズルの最後の部分が近づきます。 (一致する)TIFFファイルのみをコピーするには再帰的ですが、そのファイルのみをコピーする必要があることを知らせる必要があり*.tif
ます。rsync
これはコマンドの最も複雑な部分ですが、幸いなことに、rsync
マニュアルページでほとんど排他的に例として引用されています(man rsync
「hidden」を参照して検索してください)。
rsync -am --include '*.tif' --filter 'hide,! */' . /home/myusername/Documents/HR/