用户如何使用通配符从终端使用scp从远程主机一次下载多个文本文件?此外,使用通配符的结果将文件保存在同一个命名目录中(假设已经存在)。远程目录还包含具有不同名称的其他文件。例如:
远程主机中的4个文件:
[Remote-host]:1Dir/File.txt -> [Local-host]:1Dir/File.txt
[Remote-host]:2Dir/File.txt -> [Local-host]:2Dir/File.txt
[Remote-host]:3Dir/File.txt -> [Local-host]:3Dir/File.txt
[Remote-host]:4Dir/File.txt -> [Local-host]:4Dir/File.txt
我尝试使用以下内容无济于事。请协助
scp [remote-host]:'*Dir/File.txt' '*Dir/'
答案 0 :(得分:1)
请尝试以下方法检索您的文件:
scp user@host:~"/*Dir/*.txt" .
或者您可以尝试:
scp user@host:"~/*Dir/*.txt" .
这实际上取决于您的用户帐户在您的环境中的映射方式..
答案 1 :(得分:1)
感谢@thatotherguy给出了很好的答案。
对于其他感兴趣的人,rsync的以下命令可以正常工作
rsync -a --include '*Dir/' --include 'File.txt' --exclude '*' [Remote-host]: '\*Dir'
这意味着,包含所有带有'* Dir'的文件夹和名为'File.txt'的文件,排除其他所有内容。请注意,这会创建一个名为* Dir的新目录,其中包含所有1Dir,2Dir,3Dir等。