首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >shell脚本使用特殊字符替换和添加下一行

shell脚本使用特殊字符替换和添加下一行
EN

Stack Overflow用户
提问于 2016-04-21 06:08:48
回答 1查看 81关注 0票数 1

我正在尝试用另一行替换一行,并使用shell脚本在该行下面添加新行。我的文件内容如下所示。我想用JAVA_HOME=/usr/lib/jvm/java-1.8.0-ibm-1.8.0.2.10-1jpp.1.el7.x86_64 export PATH JAVA_HOME替换export PATH

之前:

代码语言:javascript
复制
export PATH

它应该在以下位置:

代码语言:javascript
复制
JAVA_HOME=/usr/lib/jvm/java-1.8.0-ibm-1.8.0.2.10-1jpp.1.el7.x86_64

export PATH JAVA_HOME

这意味着,它必须用这两行替换导出路径。

请帮助我如何使用sed或shell脚本

谢谢,库玛。

EN

回答 1

Stack Overflow用户

发布于 2016-04-21 06:34:51

代码语言:javascript
复制
sed -e 's#^export PATH$#JAVA_HOME=/usr/lib/jvm/java-1.8.0-ibm-1.8.0.2.10-1jpp.1.el7.x86_64\n\nexport PATH JAVA_HOME#' <yourfile.txt

这只是sed中的一个替代命令。

一些注意事项:

  • #之后使用,而不是通常的/,以避免必须引用路径中的所有斜杠。否则,您必须这样引用路径中的每个//。现在,您只需将#.

  • The转义序列加上引号,然后插入新行。

  • 如果您想实际更新文件,请将-i参数添加到sed。上面的代码只将新文件打印到stdout。

  • 正则表达式被锚定(^...$),以便它匹配整行,而不只是其中的一部分。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36756111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档