我拿了一个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";
}
}
答案 0 :(得分:0)
必须输入dos2unix。