我试图为包含某些特定属性的 ldif 文件检索一些用户。
输入文件将如下所示:
# entry-id: 2
dn: uid=xxx,ou=xx,cn=xx,o=xx,c=xx,o=xx
uid: xxx
cn: Paul
SUKsoft: Windows
SUKsoft: Linux
...
# entry-id: 3
dn: uid=yyy,ou=yy,cn=yy,o=yy,c=yy,o=yy
uid: yy
cn: Jones
SUKsoft: Windows
...
# entry-id: 3
dn: uid=zzz,ou=zz,cn=zz,o=zz,c=zz,o=zz
uid: zz
cn: John
SUKsoft: Linux
...
# entry-id: 4
dn: uid=www,ou=ww,cn=ww,o=ww,c=ww,o=ww
uid: ww
cn: John2
...
# entry-id: 5
dn: uid=mmm,ou=mm,cn=mm,o=mm,c=mm,o=mm
uid: mm
cn: John3
SUKsoft: Linux
...
结果文件应过滤具有 SUKsoft: Windows 属性的用户:
uid|cn
xx|Paul
yy|Jones
我对 linux shell bash 没有太多经验,我正在尝试首先读取迭代文件以获得 suksoft 和 uid 属性广告,然后再次对其进行重新处理以组合最终文件,使用下面的 SUKsoft 获取 uid:
cat 1.txt | while read line
do
egrep -w '^uid|SUKsoft' $line > output.txt
done
现在输出看起来像:
uid: xxx
SUKsoft: Windows
SUKsoft: Linux
uid: yy
SUKsoft: Windows
uid: zz
SUKsoft: Linux
uid: ww
uid: mm
SUKsoft: Linux
现在我想处理文件获取 uid 行,直到我有一个 SUKsoft: Windows 并将它们复制到最终文件中。
你能帮我吗?
谢谢
问候