嗨,Stackoverflow用户,
通常我可以使用sed wel(通常需要几次尝试)。但是我在文件末尾添加以下文本时遇到问题:
<linebreak/empty line here>
[extensions]
blacklist = "google-authenticator"
放入名为/usr/local/psa/admin/conf/panel.ini的文件
为了使事情“更复杂”,我还使用了OpenVZ自动化中的命令。像这样:
vzctl exec $VEID 'sed XX "VALUE FROM ABOVE" /usr/local/psa/admin/conf/panel.ini'
有人可以提供一些帮助和/或指引我正确的方向吗?
很显然,我尝试了一些事情,但是我想尝试添加的文字中的多余引号有问题。
错误总是这样的:
所以我做错了什么,我不知道如何正确添加以上内容。最好在前面换行。
我希望我能正确解释这个问题。预先感谢您的协助。
//编辑
我所需要的是添加以下文本的解决方案:
<linebreak/empty line here>
[extensions]
blacklist = "google-authenticator"
通过使用sed。
因此,我可以将其应用于创建OpenVZ容器(自动)的脚本,例如:vzctl exec $ VEID'可能的sed解决方案'/文件名
对不起,如果我以前不太清楚。
答案 0 :(得分:2)
尝试使用此GNU sed
:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<activiti.version>6.0.0</activiti.version>
</properties>
'sed -i '\''$a \\n[extensions]\nblacklist = "google-authenticator"'\'' /usr/local/psa/admin/conf/panel.ini'
:就地编辑文件-i
:与最后一行匹配的地址$
:在一行之后添加文字就像在他的已删除答案中推荐@Kent一样,将要追加的文本保存到文件中并使用a text
命令r file
更具可读性和简便性。