SCP 无法与正则表达式一起使用

SCP 无法与正则表达式一起使用

我一直在尝试使用正则表达式将一些远程文件复制到本地主机,但它读取正则表达式,就好像它是常规字符串一样,并且找不到任何与之匹配的文件。

有什么想法吗?

文件下载

#!/bin/bash

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

我还尝试从本地主机复制到远程设备,但正则表达式仍然无法与 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/

相关内容