我知道 SO 中也有类似的问题如何在 bash 中用单个空行替换多个空行? https://stackoverflow.com/questions/922449/how-can-i-replace-mutliple-empty-lines-with-a-single-empty-line-in-bash。但我的问题是这可以通过仅使用来实现吗sed
命令?
Thanks
尝试一下:
sed '/^$/N;/^\n$/D' inputfile
解释:
-
/^$/N
- 匹配一个空行并将其附加到模式空间。
-
;
- 命令分隔符,允许一行上有多个命令,可以用来代替将命令分成多个-e
版本的条款sed
支持它。
-
/^\n$/D
- 如果模式空间除了模式空间末尾的换行符之外仅包含换行符,换句话说,包含多个换行符的序列,则删除第一个换行符(更一般地说,模式空间的开头直到包括第一个包含的换行符)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)