linux - 使用 sed 将一个单词替换为两个单词和一个空格

标签 linux bash sed

我正在尝试用两个词替换一个使用 sed 的词。例如我正在使用:

sed s/TITLE/New Title/ old.txt > new.txt

但是,当我运行命令时,会生成以下内容:

sed: -e expression #1, char 17: unterminated `s' command

如有任何帮助,我们将不胜感激。我到处搜索都不清楚。

最佳答案

您缺少引号。您需要将替换部分括在引号内,例如:

sed 's/TITLE/New Title/' old.txt > new.txt

如果您使用变量作为替换的一部分,则需要使用双引号 " 而不是单引号 ' 以允许变量进行插值。

查看 sed 手册页并探索 -i 选项,它允许您进行 in-place 更改。

关于linux - 使用 sed 将一个单词替换为两个单词和一个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23073691/

相关文章:

linux - 如何检测子模块中父 Git 存储库的正确 GIT_DIR 和 GIT_WORK_TREE

linux - 从 Linux 中的进程中释放内存?

bash - 使用 bash 脚本为 Sublime Text 2 构建系统

linux - 如何让这个 init.d 脚本在服务器重启时启动?

shell - sed:参数列表太长

linux - 使用移动窗口 bash 脚本的中值

c - 通过标准输入读取二进制数据的问题

c - ld 搜索格式错误的目录路径

bash - 从文件中的行中提取特定字符串并输出到另一个文件并进行修改

linux - 将两个文件与公共(public)列合并