如何parsing属性值的ldif导出

我有一个ldif导出,我想要构build一个输出文件,每个ldif条目一行; 一行按特定顺序包含各种属性值。

因此,这些命令应该parsing每个以dn:属性开头的ldif条目,并评估各种属性,提取它们的值,然后将分隔线打印到输出文件(例如,uid | cn | sn | givenName | building | title | – 喜欢这个)。

Linux命令或perl将工作,感谢您的想法。

使用现有模块编写Perl脚本来parsingLDIF(例如Net :: LDAP :: LDIF )并根据需要进行打印。

例:

use 5.012; use Net::LDAP::LDIF; my $ldif = Net::LDAP::LDIF->new( "file.ldif", "r", onerror => 'undef' ); while ( not $ldif->eof ) { my $entry = $ldif->read_entry; if ( $ldif->error ) { say "Error msg: ", $ldif->error; say "Error lines:\n", $ldif->error_lines ( ); } say(join('|', $entry->get_value('uid'), $entry->get_value('cn'), $entry->get_value('sn') )); } $ldif->done;