再帰とファイルマスキングでscpを使用して複数の拡張を実装する方法は?

再帰とファイルマスキングでscpを使用して複数の拡張を実装する方法は?

ディレクトリを再帰的にダウンロードしようとしていますが、ディレクトリ構造を維持しながら特定の拡張子を持つファイルのみをダウンロードします。

現在使用しているコマンドは、 scp -rp user@address:"/path/to/directory/foo/*\.{jpg,mp4}" ~/local/directory/foo/a)ローカルにディレクトリを作成する必要があります。b foo)ルートディレクトリのファイルのみをダウンロードします(再帰は機能しません)。

以前に使用したコマンドは、scp -rp user@address:"/path/to/directory/foo" ~/local/directory/これらの問題はありませんでしたが、不要なすべてのファイルもダウンロードしたことです。

ベストアンサー1

私はこれが達成できるとは思わないscp。すべてのファイルを再帰的にコピーするか、非再帰的にファイル形式を選択できます。脱出する必要はありません.

ただし、以下を使用できますrsync

rsync -avm --include='*/' --include='*.jpg' --include='*.mp4' --exclude='*'\
  user@address:/path/to/directory/foo ~/local/directory/

使用されたオプション:

  • -aアーカイブモード
  • -v冗談を増やす
  • -m空のディレクトリの整理
  • --include='*/'サブディレクトリを含める
  • --include='*.jpg'*.jpgファイルを含める
  • --include='*.mp4'*.mp4ファイルを含める
  • --exclude='*'他のファイル形式を除外

おすすめ記事