我有一些来自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
...
现在因为有一些行是前一行的延续。我想加入他们各自的路线。
我感到困惑的是如何搜索没有":"
字符的行,以便我可以将其与前一行连接。
Plz帮助。
答案 0 :(得分:11)
我相信你想做一个
:v/:/-1j
v
命令选择不匹配patterh /:/
的所有行。 -1
选择上面的第一行。并且j
将此行与下一行(即使用v
命令选择的行)连接起来
编辑 Benoit和dash-tom-bang在评论中提供了重大改进:1
不是必需的,因为它是默认值,而!
会没有用空格加入线条。因此,这会导致以下更好的版本:
:v/:/-j!
答案 1 :(得分:4)
模式
^[^:]*$
匹配没有:
的行,当:v
命令不适合(宏或脚本中的某些比较)时,它可用于更常见的任务