【问题标题】:Remove\Change specific attributes in LDIF using vscode使用 vscode 删除\更改 LDIF 中的特定属性
【发布时间】:2021-06-21 09:10:38
【问题描述】:

我正在将 LDAP 数据库导出到 LDIF,我需要对其进行一些清理。有一些我不再想要的属性。如果是单行属性就很简单:

# Entry 23: cn=dwhite,ou=ORG1,o=Root
dn: cn=dwhite,ou=ORG1,o=Root
objectclass: person
objectclass: inetorgperson
objectclass: webadmaccount
sn: white
cn: dwhite
description: don.white@company.com
givenname: Don
mail: 5551234567@txt.att.net
o: ORG1
uid: dwhite
userpassword: {SSHA}YrGx7L7L8xxxiMzuUzL+f0j+i73uFTYEPnu
webadmdata: OpenOTP.RejectCount={wcrypt}eAw+r6VX6l8lioB+1KX/6A==,OpenOTP.Las
 tLogin={wcrypt}hQCwWl0KRdsiXyG7UPxPxo/WphEkyD6NPTKor8FCA5E=,OpenOTP.LoginCot
 0f5vQVl1ippSdKFiGeACiJbFWHsfs=,DataMode=A8tMd3g=

# Entry 24: ou=ORG2,o=Root
dn: ou=ORG2,o=Root
objectclass: organizationalunit
ou: ORG2

# Entry 25: cn=jlee,ou=ORG2,o=Root
dn: cn=jlee,ou=ORG2,o=Root
objectclass: person
objectclass: inetorgperson
objectclass: webadmaccount
sn: Lee
cn: jlee
userpassword: {SSHA}+CreNAoXMO3XMIWxxaWsA2r3ozyeCBEShn
description: jay.lee@company.com
givenname: Jay
mail: 5551234567@txt.att.net
o: ORG2
uid: jlee
webadmdata: OpenOTP.RejectCount={wcrypt}OrtNikuuHCyBruxUTOq6eg==,OpenOTP.Las
 tLogin={wcrypt}WUa965R8rFV9iHx7LrXrfzxEE3Gjd7TGiFz8AEJBmwU=,OpenOTP.LoginCo
 unt={wcrypt}Qbamc7jYTL+14K1yaZS9kA==,OpenOTP.LastOTP={wcrypt}t+fDlGfP6kGIse
 at8PHJdxJy15LSN4R+tJXr7B7L7+4=,DataMode=A8tMd3g=

在上面的示例中删除“objectclass:webadmaccount”属性,使用正则表达式的查找和替换:^objectclass.*webadmaccount$ 将完成这项工作。我知道这对锚点来说似乎有点矫枉过正,但在 LDIF 的其他地方,你会发现刺痛嵌入更长的线中,所以锚点。

现在,当我想摆脱 'webadmdata:' 属性时,我的问题就来了。你可以看到它们是多行的,而且长度不一样。这就是我卡住的地方,像这样的正则表达式: ^webadmdata:.*[\n\s]+.* 将获得前两行,但随后退出。如果我将 .*[\n\s]+.* 设为捕获组并在末尾使用“+”重复它:(.*[\n\s]+.*)+ 它将选择整个文件(或崩溃 vscode )。似乎我应该能够编写一个正则表达式来选择从^webadmdataA8tMd3g=\n\n 的所有内容,但我一辈子都无法让它工作。我希望那里有可以提供帮助的正则表达式或 VSCode 大师。提前致谢。

【问题讨论】:

    标签: regex visual-studio-code ldif


    【解决方案1】:

    好的,我不知道为什么我以前认为这不起作用,但确实如此。以下正则表达式将做我想要的: ^webadmdata:.(.|\n)+?A8tMd3G=$\n

    显然 VSCode 默认使用惰性限定符。见下文: screenshot

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-05
      • 1970-01-01
      • 2012-09-02
      • 2018-02-22
      • 1970-01-01
      • 2011-10-23
      • 2013-11-24
      相关资源
      最近更新 更多