【问题标题】:How do i delete n many new lines in bash?如何在 bash 中删除许多新行?
【发布时间】:2014-03-10 13:26:38
【问题描述】:

我正在用 sed 编辑一个文件。

我正在使用这个

sed -i 's/^display.*//g'

这里的问题是它没有删除\n 换行符。 因此,如果有很多受影响的文件,则会导致文件充满新行。

那么我怎么能说 sed 它也应该删除新行,或者使用不同的 bash 命令来删除所有连续超过三个换行符的换行符?

【问题讨论】:

    标签: bash sed


    【解决方案1】:

    不要使用s//g 替换,而是使用d 删除匹配行:

    sed -i '/^display/d' file
    

    请注意,甚至不需要用.* 指示其余行,只需^display 就足够了。

    示例

    $ cat a
    hello
    display is something
    and this is another display but
    display is here
    blabla
    
    $ sed -i '/^display/d' a
    $ cat a
    hello
    and this is another display but
    blabla
    

    【讨论】:

    • 谢谢。这正是我们想要的。
    【解决方案2】:

    您提到您正在编辑文件,因此使用vim 您可以:

    :g/^display/d
    

    【讨论】:

      猜你喜欢
      • 2013-03-11
      • 1970-01-01
      • 2012-10-17
      • 2020-02-20
      • 2017-04-16
      • 2011-11-14
      • 2013-08-15
      • 2016-05-13
      • 1970-01-01
      相关资源
      最近更新 更多