代码之家  ›  专栏  ›  技术社区  ›  Lunartist

如何在bash中裁剪模式后的文本

  •  0
  • Lunartist  · 技术社区  · 2 年前

    如果文本是

    aaaa
    bbbb
    cccc
    ====
    dddd
    

    我想要 dddd 因此

    如果文本是

    aaaa
    ====
    bbbb
    cccc
    dddd
    

    我想要

    bbbb
    cccc
    dddd
    

    结果呢。

    我在尝试类似的东西 awk '{print $1}' | sed '/.*\n=*$/d' 但sed似乎只能删除一行。

    2 回复  |  直到 2 年前
        1
  •  1
  •   Yuri Ginsburg    2 年前

    你可以试试

    n=$(grep -n "^=*$" $1 | awk -F: '{print $1}')
    let n+=1
    tail +$n $1
    
        2
  •  1
  •   Beta    2 年前

    您可以指示一系列线条,例如从第1行到包含图案的线条:

    sed '1,/====/d'