首页 > 解决方案 > 使用 ssh 链命令时 sed 命令删除文件中的行的说明

问题描述

我需要实际删除远程服务器上文件中的一行。所以我使用 ssh 链和 sed 命令。下面是非工作线。

ssh -y -i <key> <username>@<ip>  "sed -i '$d' /tmp/test.txt"

下面的行是有效的。

ssh -y -i <key> <username>@<ip>  "sed -i '$ d' /tmp/test.txt"

工作案例和非工作案例的区别只是美元($)和d(代表删除一行)之间的空格。另请注意,我的本地系统和服务器都是基于 linux 而不是 MAC OS。我不确定空间是如何使这个命令起作用的。

如果可能的话,任何人都可以回答这个问题。

请注意,上面提到的非工作命令在从它们自己的 shell 执行时(即不使用 ssh)在本地和服务器机器上运行良好。

标签: linuxshellsshsed

解决方案


推荐阅读