+ -
当前位置:首页 → 问答吧 → 删除文本结尾处的空行

删除文本结尾处的空行

时间:2011-04-14

来源:互联网

如何删除文件结尾处的空行啊, sed -e '/^\n$/d' file 删除了全部的空行。可是我只想删除结尾处的。

作者: timdcn   发布时间: 2011-04-14

sed  '${/^$/d}'

作者: chenbin200818   发布时间: 2011-04-14

回复 chenbin200818


    不行啊,还在

作者: timdcn   发布时间: 2011-04-14

不可能 我的通过

作者: chenbin200818   发布时间: 2011-04-14

GNU sed 版本 4.2.1

cat file | sed '${/^$/d}'

完全可以

作者: chenbin200818   发布时间: 2011-04-14

你要是修改文件
得 sed -i '${/^$/d}' file

作者: chenbin200818   发布时间: 2011-04-14

我的sed 4.1.5

sed '${/^$/d} file输出也应该看到啊

作者: timdcn   发布时间: 2011-04-14

-i修改也没用。我是CentOS 5.5

作者: timdcn   发布时间: 2011-04-14

那就不清楚了

作者: chenbin200818   发布时间: 2011-04-14

回复 timdcn


    awk:
  1. tac file |awk 'NF>0{x=1}x'|tac
复制代码

作者: yinyuemi   发布时间: 2011-04-14

回复 timdcn


    sed:
  1. sed -r -n '1h;1!H;${x;s/(.*[^\n])\n*$/\1/p}' file
复制代码

作者: yinyuemi   发布时间: 2011-04-14

本帖最后由 timdcn 于 2011-04-14 12:04 编辑

回复 yinyuemi


    这个可以,好复杂啊,我慢慢看下!谢谢啊

作者: timdcn   发布时间: 2011-04-14

为啥
cat sed_file
/^$/{
N
/^$/d
}

sed -f sed_file file
这儿也不行啊

作者: timdcn   发布时间: 2011-04-14

回复 timdcn


    改下:
  1. sed '/^$/{$!N;/^\n*$/d}' file
复制代码

作者: yinyuemi   发布时间: 2011-04-14

结尾空行?LZ能给个example吗。

作者: zooyo   发布时间: 2011-04-14