3

我从一个 ldiff 文件中有一些这样的行,

dn: cn=dkalland_directs_ww,cn=org_groups,cn=beehive_groups,cn=groups,dc=oracle
,dc=com
businesscategory: open
cn: dkalland_directs_ww
description: Directs Group for daniel.kallander@oracle.com
displayname: dkalland_directs_ww
mail: dkalland_directs_ww@oracle.com
objectclass: top
objectclass: orclGroup
objectclass: groupOfUniqueNames
orclglobalid: modified
orclnormdn: cn=dkalland_directs_ww,cn=org_groups,cn=beehive_groups,cn=groups,d
c=oracle,dc=com
owner: cn=BHGRPADMIN_WW,L=AMER,DC=ORACLE,DC=COM
uniquemember: cn=mattias_tobiasson,dc=us,dc=oracle,dc=com
uniquemember: cn=mattias_joelson,dc=us,dc=oracle,dc=com
uniquemember: cn=markus_persson,dc=us,dc=oracle,dc=com 
...

现在有一些行是上一行的延续。我想加入他们各自的行列。

我感到困惑的是如何在没有":"字符的情况下搜索一行,以便可以将其与上一行连接起来。

请帮忙。

4

2 回答 2

11

我相信你想做一个

:v/:/-1j

v命令选择所有与模式匹配的行/:/。选择上面的-1行之一。并将j这一行与下一行连接起来(即用v命令选择的那一行)

编辑Benoit 和 dash-tom-bang 在他们的评论中提供了实质性的改进:1不是必需的,因为它是默认的,并且!不会用空格连接行。因此,这导致了以下更好的版本:

:v/:/-j!
于 2011-09-08T10:15:46.850 回答
4

图案

^[^:]*$

匹配不带 的行,当命令不适合时(宏或脚本中的一些比较):,它在更常见的任务中很有用:v

于 2011-09-08T13:11:16.300 回答