首页 > 解决方案 > 我想在 linux 的文件中添加一些行

问题描述

我有一个 linux centos 7 服务器,我希望下面的行以名称 config.xml 归档

<vhostMap>
  <vhost>google</vhost>
  <domain>google.com, www.google.com</domain>
</vhostMap>

我想在 config.xml 文件的第 8 行之后添加这些行

sed 或 awk 命令如何实现?它的python或perl?我已经搜索了很多,但是对于我这个菜鸟来说很难,有人可以告诉我一些例子吗?

谢谢。

标签: pythonlinuxperlcentos7

解决方案


在 Python 中很容易:

to_add = """<vhostMap>
  <vhost>google</vhost>
  <domain>google.com, www.google.com</domain>
</vhostMap>
"""
with open("config.xml", "r") as f:
    all_lines = f.readlines()
with open("config.xml", "w") as f:
    for l in all_lines[:8]: f.write(l)
    f.write(to_add)
    for l in all_lines[8:]: f.write(l)

推荐阅读