【发布时间】:2017-06-13 22:04:54
【问题描述】:
我正在编写一个脚本,该脚本应该从命令结果中提取特定类型的用户及其对应的 uidNumber 并将其输出到文件中。示例命令结果为:
dn: uid=test_user_2,ou=People,fsFragmentId=Security,fsClusterId=ClusterRoot
cn: test_user_2
uid: test_user_2
uidNumber: 10000
gidNumber: 400
homeDirectory: /home/test_user_2
userPassword:: e2NyeXB0fSo=
dn: uid=test_user_3,ou=People,fsFragmentId=Security,fsClusterId=ClusterRoot
cn: test_user_3
uid: test_user_3
uidNumber: 500
gidNumber: 400
homeDirectory: /home/test_user_2
userPassword:: e2NyeXB0fSo=
dn: cn=test_group_3,ou=Group,fsFragmentId=Security,fsClusterId=ClusterRoot
cn: test_group_3
gidNumber: 10000
homeDirectory: /home/test_user_3
userPassword:: e2NyeXB0fSo=
我想用"ou=People,fsFragmentId=Security,fsClusterId=ClusterRoot" 和uidNumber 用10000 到60000 打印所有用户
我已经提取了带有"ou=People,fsFragmentId=Security,fsClusterId=ClusterRoot" 的行但是,我不知道如何提取其对应的uidNumber
我使用了下面的命令:
$LDAP_command | grep "dn: uid=.*,ou=People,fsFragmentId=Security,fsClusterId=ClusterRoot" > ldapsearch_extracted.txt
预期的输出应该是这样的:
dn: uid=test_user_2,ou=People,fsFragmentId=Security,fsClusterId=ClusterRoot
uidNumber: 10000
【问题讨论】: