首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我需要使用sed将文本插入带有引号的文件中。

我需要使用sed将文本插入带有引号的文件中。
EN

Stack Overflow用户
提问于 2018-07-13 08:42:28
回答 1查看 2.4K关注 0票数 0

嗨,Stackoverflow用户,

通常情况下,我可以使用sed相当的wel (通常需要几次尝试)。但是,在文件末尾添加以下文本时,我遇到了问题:

代码语言:javascript
复制
<linebreak/empty line here>
[extensions]
blacklist = "google-authenticator"

到一个名为: /usr/local/psa/admin/conf/panel.ini . Into的文件中。

为了使事情变得“更复杂”,我还在OpenVZ自动化中使用了这个命令。如下所示:

代码语言:javascript
复制
vzctl exec $VEID 'sed XX "VALUE FROM ABOVE" /usr/local/psa/admin/conf/panel.ini'

有人能给我提供一些帮助和/或引导我走向正确的方向吗?

显然,我尝试了一些东西,但我想我对我想要添加的文本中的额外引号有异议。

错误总是这样的:

  • 表达式#1,char 89:未终止地址regex
  • 表达式#1,char 91:未终止地址regex
  • 表达式#1,char 53:未终止地址regex

因此,我做了一些错误的事情,我不知道如何正确地添加上述内容。最好是在前面放一段线。

我希望我能正确地解释这个问题。提前感谢您的协助。

//编辑

我所需要的只是一个添加以下文本的解决方案:

代码语言:javascript
复制
<linebreak/empty line here>
[extensions]
blacklist = "google-authenticator"

通过使用sed。

因此,我可以将它应用到我的脚本中,它创建了一个OpenVZ容器(自动),例如: vzctl exec $VEID‘可能的sed解决方案’/文件名

抱歉我之前没说清楚。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-13 09:19:14

尝试使用这个GNU sed

代码语言:javascript
复制
'sed -i '\''$a \\n[extensions]\nblacklist = "google-authenticator"'\'' /usr/local/psa/admin/conf/panel.ini'
  • -i:编辑文件就位
  • $:匹配最后一行的地址
  • a text:在行后追加文本

正如@Kent在他删除的答案中所建议的那样,将要添加到文件中的文本保存到sed中并使用r file命令将更易读,也更简单。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51321132

复制
相关文章

相似问题

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