さらなる処理のためにldapsearchの結果からEメールアドレスのリストを作成するには?

さらなる処理のためにldapsearchの結果からEメールアドレスのリストを作成するには?

自動メール送信とユーザー、特定のグループの個々のメンバーに通知するための電子メールアドレスのリストを提供し、追加で使用できるコマンドまたは単一のコマンドラインを探しています。

現在、次のようにディレクトリを見つけることができます。

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 ";" 

おすすめ記事