fork download
  1. #!/bin/bash
  2.  
  3. string1="userbasedn:DC=i,DC=companyname,DC=com?subtree?(&(objectcategory=person)(uidNumber=*)(|(memberOf:1.2.840.113556.1.4.1941:=cn=example1,OU=GROUPS,OU=INFRASTRUCTURE,DC=i,DC=companyname,DC=com)(memberOf:1.2.840.11.1.4.1941:=cn=example2,OU=GROUPS,OU=INFRASTRUCTURE,DC=i,DC=companyname,DC=com)))
  4. groupbasedn:DC=i,DC=companyname,DC=com?subtree?(&(objectcategory=group)(gidNumber=*))"
  5.  
  6. mapfile -t arr < <(grep -oE 'cn=[^()]*DC=com' <<< "$string1")
  7.  
  8. declare -p arr
  9.  
  10. printf '%s\n' "${arr[@]}"
Success #stdin #stdout 0s 4476KB
stdin
Standard input is empty
stdout
declare -a arr=([0]="cn=example1,OU=GROUPS,OU=INFRASTRUCTURE,DC=i,DC=companyname,DC=com" [1]="cn=example2,OU=GROUPS,OU=INFRASTRUCTURE,DC=i,DC=companyname,DC=com")
cn=example1,OU=GROUPS,OU=INFRASTRUCTURE,DC=i,DC=companyname,DC=com
cn=example2,OU=GROUPS,OU=INFRASTRUCTURE,DC=i,DC=companyname,DC=com