我一直在尝试使用正则表达式将一些远程文件复制到本地主机,但它读取正则表达式,就好像它是常规字符串一样,并且找不到任何与之匹配的文件。
有什么想法吗?
文件下载
#!/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/