![추가 처리를 위해 ldapsearch 결과에서 이메일 주소 목록을 만드는 방법은 무엇입니까?](https://linux55.com/image/136861/%EC%B6%94%EA%B0%80%20%EC%B2%98%EB%A6%AC%EB%A5%BC%20%EC%9C%84%ED%95%B4%20ldapsearch%20%EA%B2%B0%EA%B3%BC%EC%97%90%EC%84%9C%20%EC%9D%B4%EB%A9%94%EC%9D%BC%20%EC%A3%BC%EC%86%8C%20%EB%AA%A9%EB%A1%9D%EC%9D%84%20%EB%A7%8C%EB%93%9C%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
자동 메일 전송 및 사용자, 특정 그룹의 개별 구성원에게 알리기 위해 이메일 주소 목록을 제공하고 추가로 사용할 수 있는 명령 또는 단일 명령줄을 찾고 있습니다.
현재 다음을 통해 디렉토리를 찾을 수 있습니다.
ldapsearch -h dc.example.com -p 389 -D "EXAMPLE\admin" -x -w "password" -b "DC=example,DC=com" -s sub "(&(objectCategory=person)(objectClass=user)(sAMAccountName=*)(memberOf=CN=Developers,OU=Role_Groups,OU=Groups,DC=example,DC=com))" mail \
| grep "mail:" \
| cut -d " " -f 2
이렇게 하면 모든 그룹 구성원의 압축된 이메일 주소가 제공되지만 추가 처리를 위해 제가 찾고 있는 형식은 아닙니다.
[email protected]
[email protected]
[email protected]
...
쉼표 또는 세미콜론으로 구분된 결과 행을 얻는 방법은 무엇입니까?
[email protected];[email protected];[email protected];...
개행 문자를 바꾸려면 쉼표를 사용하세요.tr
아니면 sed
(나에게는) 작동하지 않습니다.
답변1
약간의 조사 끝에 나는 알아냈다.paste
주문하다. 그래서 추가
| paste -sd ";"
내가 원하는 방식으로 작동하도록 하세요. 지금 내가 사용한 마지막 명령줄은 다음과 같습니다.
ldapsearch -h dc.example.com -p 389 -D "EXAMPLE\admin" -x -w "password" -b "DC=example,DC=com" -s sub "(&(objectCategory=person)(objectClass=user)(sAMAccountName=*)(memberOf=CN=Developers,OU=Role_Groups,OU=Groups,DC=example,DC=com))" mail \
| grep "mail:" \
| cut -d " " -f 2 \
| paste -sd ";"