linux - 使用 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)在本地和服务器机器上运行良好。
解决方案
推荐阅读
- java - java.lang.NoSuchMethodError: 没有虚拟方法 getToken(Z)
- python - 如何使用 os.system(或替代方法)远程关闭任何系统?
- javascript - React & Material UI - 如何删除基于路由的导航按钮/链接?
- regex - Perl 在替换本身中进行替换
- json - 将 JSON 存储到数组中
- python - 从字符串(或 DataFrame 对象)中提取时间数据的更有效方法
- .net - Windows 社区工具包的 WPF IUriToStreamResolver 实现?
- django - 错误未记录到 txt 文件
- python - 在 Python 中逐字索引文本文件
- python - 是否可以在 Python 中按特定顺序获得 3 个特定随机数?