【问题标题】:Replace double end-of-line with ";\n" in bash在 bash 中用“;\n”替换双行尾
【发布时间】:2013-12-02 12:34:05
【问题描述】:

谁能告诉我,如何在文本文件中将double end-of-line 替换为";\n"

示例:

输入:
some text qwe
qweqwe qweqw

sdfads
werrwer

输出:
some text qwe
qweqwe qweqw;
sdfads
werrwer

【问题讨论】:

    标签: bash eof


    【解决方案1】:

    如果是a 而不是行尾,你知道该怎么做。 tr 可让您切换 aend-of-line。因此解决方案:

    LANG= tr '\012'a a'\012' | LANG= sed -e 's:aa:;a:g' | LANG= tr '\012'a a'\012'
    

    【讨论】:

      【解决方案2】:

      使用sed 你可以说:

      sed '$!N;s/\(.*\)\n$/\1;/;P;D' filename
      

      【讨论】:

      • 我不知道谁赞成;这个答案缺少问题所问的;。如果我也没有回答,我会否决你的回答。
      • 它只删除空行,芽不要插入“;”
      • @Allda 我没有意识到你需要;。请参阅上面的更新。
      猜你喜欢
      • 2013-03-02
      • 2017-12-22
      • 2021-03-12
      • 2017-06-24
      • 1970-01-01
      • 2021-10-16
      • 1970-01-01
      • 2015-07-07
      • 2017-01-05
      相关资源
      最近更新 更多