gpt4 book ai didi

linux - scp 从多个目录下载多个文件

转载 作者:太空宇宙 更新时间:2023-11-04 04:21:28 26 4
gpt4 key购买 nike

我第一次使用Linux 工作。我试图弄清楚如何使用 scp 下载多个目录中具有相同扩展名的多个文件。

例如:

/server/directoryA/directoryA1/nameA.txt
/server/directoryA/directoryA2/contactA.txt
/server/directoryA/directoryB1/nameB.txt
/server/directoryB/directoryB2/contactB.txt

我想通过一个 scp 命令下载所有 *.txt 文件。我似乎无法让它工作。

我尝试过类似的方法:

scp user@server:/server/*/*/*.txt .

我也尝试过使用 -r 但似乎不起作用。任何人都可以指出我正确的命令语法吗?谢谢!

最佳答案

您可以使用 ssh 而不是 scp 来执行此操作:

ssh user@server 'find /server/ -name "*.txt" -print0 | xargs -0 tar -cO' | tar -xivf - -C .

这会将所有 *.txt 复制到当前目录“.”中,但它也会复制目录结构,因此如果您只想要 txt 文件而不包含目录结构,则需要将所有下载的 txt 文件移动到当前目录:

find -name "*.txt" -print0 | xargs -0 -I {} cp {} .

然后删除空目录结构:

rm ./server -r

关于linux - scp 从多个目录下载多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12676963/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com