题
我想要找出输出的文件列表。
我想scp
采取列表。
我不知道有关语法。 我尝试用伪代码
locate labra | xargs scp {} masi@11.11.11:~/Desktop/
您如何可以将文件移动到目标?
解决方案
典型地,{}是一个的找到强> ISM:
find ... -exec cmd {} \;
其中{}是找到正在工作的当前文件。
您可以得到的 xargs的以表现类似:
locate labra | xargs -I{} echo {} more arguments
不过,你很快就会发现,它多次运行的命令,而不是一个呼叫为 SCP
因此,在你示例的上下文中:
locate labra | xargs -I{} scp '{}' masi@11.11.11:~/Desktop/
注意周围的单引号的{},因为它会在他们
使用空格的路径有用其他提示
xargs的一般需要尽可能多的参数可适合命令行上,但使用-I它突然只需要一个。 GNU并行 http://www.gnu.org/software/parallel/ 可以是更好的解决方案:
locate labra | parallel -m scp {} masi@11.11.11:~/Desktop/
既然你正在寻找SCP,可能我建议你也看看rsync的?
locate labra | parallel -m rsync -az {} masi@11.11.11:~/Desktop/
不隶属于 StackOverflow