将LDIF转换为WebSEAL组导入 - "打印不正确

时间:2016-06-28 14:18:55

标签: regex perl

我拿了一个LDIF并逐行完成,将DN放入变量$ line,然后将cn匹配到变量$ cn中。

现在我只想打印出这样的所有行:

小组导入CNHERE" DN HERE"

我应该在LDIF中为每个DN获得一个语句。相反,任何时候我试图让它打印" "在$ line变量周围,我得到了下面的时髦输出。

"roup import CNNAMEHERE "dn: CN=CNNAMEHERE,OU=Groups,DC=extranet,DC=DOMAIN,DC=com

以下是文件中的DN行示例。

dn: CN=CNNAMEHERE,OU=GROUPNAME,OU=Groups,DC=DOMAIN,DC=com

我知道我可以用不同的角色打印出来然后查找/替换文件或进行替换匹配,但我真的很想知道为什么要这样做。

#!/usr/bin/perl
use strict;
use warnings;

open (DATA, "<exportGroupsEmpty.ldf") or die ("Couldn't open file");

my $line = "";

while($line = <DATA>)
{

  #get DN
  if ($line =~ m/^dn/)
  {

    my $cn = "";
    $line =~ m/(dn: CN=)/;
    $' =~ m/(,)/;
    $cn = $`;
    chomp($line);

    print qq(group import $cn "$line"\n);
    #print $cn;
    #print " " . $line . "\n";

  }

}

1 个答案:

答案 0 :(得分:0)

必须输入dos2unix。