【问题标题】:Remove section from file based on its content根据内容从文件中删除部分
【发布时间】:2021-09-08 18:04:01
【问题描述】:

如何使用 bash 删除以下文件中包含 config B2 的配置部分?使用sedawk 或类似的任何快速解决方案?如果有帮助,不同的部分用空行分隔。

输入文件:

section X
    config A1
    config A2
    config A3

section Y
    config A1
    config B2
    config A3

section Z
    config C1
    config C2
    config A3

预期的输出文件:

section X
    option A1
    option A2
    option A3

section Z
    option C1
    option C2
    option C3

【问题讨论】:

    标签: unix-text-processing


    【解决方案1】:

    使用 awk:

    awk 'BEGIN { RS="section" } $0 !~ /config B2/ { print RS$0 }' file
    

    在开始块中将记录分隔符设置为“节”。然后当记录不包含“config B2”时,打印记录分隔符后跟记录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-20
      • 2012-07-04
      • 1970-01-01
      • 2014-05-07
      • 1970-01-01
      • 2010-10-17
      • 1970-01-01
      相关资源
      最近更新 更多