To read specific line from a file

Hi,

I have a ldif file like below:

version: 1

dn: cn=Test Group,ou=Applications,dc=xyz,dc=com
objectClass: groupOfUniqueNames
objectClass: top
cn: Test Group
uniqueMember: uid=abc,ou=People,o=xyz,o=Corporate,dc=xyz,dc=com

dn: cn=Test Sub Group,cn=Test Group,ou=Applications,dc=xyz,dc=com
objectClass: groupOfUniqueNames
objectClass: top
cn: Test Sub Group
uniqueMember: uid=def,ou=People,o=xyz,o=Corporate,dc=xyz,dc=com
uniqueMember: uid=fgh,ou=People,o=xyz,o=Corporate,dc=xyz,dc=com

I need to output from above file as :

uid=abc,ou=People,o=xyz,o=Corporate,dc=xyz,dc=com
uid=def,ou=People,o=xyz,o=Corporate,dc=xyz,dc=com
uid=fgh,ou=People,o=xyz,o=Corporate,dc=xyz,dc=com

Please help.

grep "uid=" filename | awk '{print $2}'

awk '$2~"uid" {print $2}' file

Or

sed -n "s/[^ ]* uid/uid/p" file

This is Useless Use of grep | awk

Another approach using GNU grep:

grep -o "uid.*" file
1 Like

Thanks a lot ,

All worked.