【问题标题】:How to download all files from a Linux server using SCP which contan a given String如何使用包含给定字符串的 SCP 从 Linux 服务器下载所有文件
【发布时间】:2015-06-30 05:04:50
【问题描述】:

我需要从 Linux 目录下载所有 492 个文件,这些文件在文件中包含给定的字符串。到目前为止,我无法从我的搜索中找到可以完成此任务的命令。有人可以帮帮我吗?

干杯。

【问题讨论】:

标签: linux grep find file-transfer scp


【解决方案1】:

使用 grep 过滤具有给定字符串的文件,并像这样将它们循环到scp

for file in $(grep <some-pattern> <directory>); do scp $file <remote>; done;

如果您还需要过滤掉目录子目录中的文件,请在 grep 中添加 -R 选项

【讨论】:

  • 您好,感谢您的回复!我不需要递归搜索,我需要搜索的String是“matchid="5786346"”。假设我当前位于要将文件复制到的目录中,这是否正确?: for file in $(grep );做 scp $file .;完成;
  • 如果假设您位于要复制到的目录中,为什么需要scp?我宁愿使用cp
  • 因为文件在远程服务器上。
  • 哦,知道了,你想复制另一个方向。您有 2 个选项 1. ssh 到远程机器并运行我在答案中发布的命令。 2.另一个选项是从你的主机ssh <remote_host> '<COMMANDS>'运行和ssh命令,其中<COMMANDS>是答案中的那些
  • 我似乎无法这样做,因为要 ssh 到服务器,我需要在 ssh 到服务器时提供一个端口(ssh -p username@) -所以当我尝试从我的机​​器上运行 scp 时,它会失败,因为我无法在 scp 命令中提供端口...
猜你喜欢
  • 2016-12-20
  • 2021-02-21
  • 2016-02-08
  • 2013-08-19
  • 2019-09-28
  • 2019-11-24
  • 1970-01-01
  • 2014-10-20
  • 2020-07-04
相关资源
最近更新 更多