SCPは正規表現では使用できません

SCPは正規表現では使用できません

正規表現を使用していくつかのリモートファイルを自分のローカルホストにコピーしようとしましたが、正規表現を通常の文字列のように読み込んで一致するファイルを見つけることができませんでした。

どんなアイデアがありますか?

文書のダウンロード

#!/bin/bash

scp "[email protected]:/home/student/download-this/[a-zA-Z0-9]+\.tar\.gz" .

また、localhostからリモートデバイスにコピーしようとしましたが、正規表現はまだscpでは機能しません。

ファイルをアップロードする

scp "/root/scripts/this[XYZ]_[0-9]{1,5}\.txt" [email protected]:/home/fs/upload

ローカルホストファイル

リモートデバイスファイル

エラーメッセージ

ベストアンサー1

コメントで述べたように、scp正規表現はサポートされていません。glob次のように使用することをお勧めします。

scp '[email protected]:/home/student/download-this/[a-zA-Z0-9]*.tar.gz' .
#   ^                                                                     ^
# need this single quotes

正規表現を使用するのではなく、処理してscp確認globできます。

man bash | less +/'Pattern Matching'

ワイルドカードを介してファイルを「アップロード」するには*

scp [a-zA-Z0-9]*.tar.gz [email protected]:/home/student/upload-this/

おすすめ記事