分页: 1 / 1

如何查找两个或以上的空行?

发表于 : 2013-01-11 10:21
yechf
libreoffice的文档中,有太多的空行,前几天想把两个或以上的空行,换成一个空行。
摸索几天,没有结果。
知道的,帮忙下。
THX! :em01

Re: 如何查找两个或以上的空行?

发表于 : 2013-01-11 11:22
gb112211
用vim编辑,用这个命令试下
:%s/^\n$//g

Re: 如何查找两个或以上的空行?

发表于 : 2013-01-11 11:41
Rap:D
sed就可以了。。。。

代码: 全选

sed '/^$/N;/\n$/D' text

Re: 如何查找两个或以上的空行?

发表于 : 2013-01-11 11:59
Rap:D
要不就写一个python脚本

代码: 全选

#!/usr/bin/python
import re,sys

fd = open("test.log")
Buff = ""
for line in fd:
    Buff += line

Matcher = re.compile("^[\r\n]+$",re.MULTILINE)

sys.stderr.write(Matcher.sub("",Buff))

Re: 如何查找两个或以上的空行?

发表于 : 2013-01-11 12:58
yechf
楼上两位,你好。
首先,这是一个ODT文件。
我想在libreoffice中查找替换。
没说清楚,sorry。

gb112211:
ub1004@fzkj:~$vim a.odt
:%s/^\n$//g
则提示:
E486 找不到模式 :^\n$


Rap:D:
ub1004@fzkj:~$ sed '/^$/N;/\n$/D' a.odt
我加了-i 也不行哦。
python不懂,不考虑。

Re: 如何查找两个或以上的空行?

发表于 : 2013-01-11 13:28
gb112211
可能你文件内容的原因,我用上面两种方法都能够成功。

Re: 如何查找两个或以上的空行?

发表于 : 2013-01-11 13:55
luojie-dune
odt 是 zip包裹的规范化 xml,不知道怎么定义的,找到那个就能用sed


另外,libreoffice,真的,,,是个很烂的修改工具,这个软件的设计理念就是给知道自己做什么的用户一次性做好。修改啥的。。。

Re: 如何查找两个或以上的空行?

发表于 : 2013-01-11 14:25
yechf
楼上你好。
ODT导出为xml,是一团浆糊。
我libreoffice用于工作有段时间了,觉得还不错。

gb112211,
你好,我贴出来,你试试。

Re: 如何查找两个或以上的空行?

发表于 : 2013-01-11 14:43
luojie-dune

Re: 如何查找两个或以上的空行?

发表于 : 2013-01-11 14:47
gb112211
楼主你应该是想删除掉一部分空行,而不是要合并连续的空行吧?

上面两种方法的作用是把文档里边连续的空行合并成一个空行,所以你用起来的时候会提示错误,因为找不到连续两个或以上的空行。

Re: 如何查找两个或以上的空行?

发表于 : 2013-01-11 14:51
luojie-dune

Re: 如何查找两个或以上的空行?

发表于 : 2013-01-11 15:05
iamfbi
把两个\n换成一个\n。换多两次不就OK了?如果不支持搜索\n,把文本复制出来用其他工具替换掉再放回去。。不过就会失去格式。。