Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 我想在config.xml文件中添加3行sed或awk命令_Linux_Unix_Awk_Sed - Fatal编程技术网

Linux 我想在config.xml文件中添加3行sed或awk命令

Linux 我想在config.xml文件中添加3行sed或awk命令,linux,unix,awk,sed,Linux,Unix,Awk,Sed,我有一台linux centos 7服务器,我想在下面几行中使用sed命令以config.xml名称归档 谷歌 google.com,www.google.com 我想在config.xml文件的第10行之后添加这几行 我想在centos7添加一个命令,可能吗? 我已经搜索过了,我发现这可以通过sed或awk命令实现 如何使用sed或awk命令执行此操作?GNU-sed: sed '10a <vhostMap>\n <vhost>google</vhost&g

我有一台linux centos 7服务器,我想在下面几行中使用sed命令以config.xml名称归档


谷歌
google.com,www.google.com
我想在config.xml文件的第10行之后添加这几行

我想在centos7添加一个命令,可能吗? 我已经搜索过了,我发现这可以通过sed或awk命令实现

如何使用sed或awk命令执行此操作?

GNU-sed:

sed '10a <vhostMap>\n  <vhost>google</vhost>\n  <domain>google.com,www.google.com</domain>\n</vhostMap>' config.xml
sed'10a\n google\n google.com,www.google.com\n'config.xml

与awk几乎相同:

awk '{ print $0 ; if(NR == 10) printf "<vhostMap>\n  <vhost>google</vhost>\n  <domain>google.com, www.google.com</domain>\n</vhostMap>\n" }' config.xml
awk'{print$0;if(NR==10)printf“\n google\n google.com,www.google.com\n\n”}”config.xml
这可能适合您(GNU-sed和shell):


cat将config.xml添加到你的问题中。我相信你几个小时前也问过同样的问题。@Cyrus你的意思是什么?@Błotosmętek正确,但现在我看起来是用命令行完成的,而不是代码并保存在python文件中,明白吗?我想用命令行完成这项工作,一旦我运行了命令,它就完成了。然后请从标记列表中删除“python”和“perl”…它只是将我显示为输出,但当我打开文件config.xml时,该文件上就没有这行了,如果我想把这几行放在config.xml文件中,我应该怎么做使用
sed-i
-i
--in-place
选项。它只是将我显示为一个输出,但当我打开config.xml文件时,这几行就不在该文件中了,如果我想把这几行放在config.xml文件中,我应该怎么做,当然-标准
awk
没有
--inplace
选项。您需要将输出保存在某个临时文件中,然后将其内容移动到config.xml。
cat <<\! | sed '10r /dev/stdin' file
<vhostMap>
  <vhost>google</vhost>
  <domain>google.com, www.google.com</domain>
</vhostMap>
!