shell - 我正在尝试使用变量替换特定行号中的字符串

标签 shell sed

这是我的尝试:

sed -i -e "$chs/|0|/|900|/" users

变量“chs”具有我想要的行号 替换字符串,但它不起作用,有什么想法吗?

最佳答案

如果 chs 包含行号,例如 5,则如下:

sed -i -e "$chs/|0|/|900|/" users

将扩展为:

sed -i -e "5/|0|/|900|/" users

作为 sed 命令,这是无稽之谈。它应该返回有关未知命令的错误消息。

您需要创建一个前面带有行号的替换命令。尝试:

sed -i -e "$chs s/|0|/|900|/" users

关于shell - 我正在尝试使用变量替换特定行号中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33458003/

相关文章:

python - 是否可以在 shell 命令中的反引号之间执行 Python 程序?

bash - bash 中的 SED 用于接收参数

linux - 使用 AWK 或 SED 以及以下标签以逗号分隔

linux - 执行sed命令时出错

regex - sed 在 mac 地址中插入冒号

linux - 使用 "if"和 "case"更改主机名

bash - 如何在 bash 脚本中分配传递到变量中的位置参数?

linux - 递归删除所有包含特定字符串的名为 NET_Connections* 的文件

linux - 尝试根据菜单输出来验证 PS3 输入以进行用户验证

android - 编写执行 linux 命令的 android 应用程序