
正規表現を使用していくつかのリモートファイルを自分のローカルホストにコピーしようとしましたが、正規表現を通常の文字列のように読み込んで一致するファイルを見つけることができませんでした。
どんなアイデアがありますか?
文書のダウンロード
#!/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/