/etc/sudoers からユーザーリストとアクセスレベルのみを印刷するにはどうすればよいですか?

/etc/sudoers からユーザーリストとアクセスレベルのみを印刷するにはどうすればよいですか?

複数のサーバーがあり、bash を使用してユーザー リストとアクセス レベルを印刷したいと考えています。

以下のコマンドを試しましたが、期待どおりの結果を得ることができませんでした。

awk '/Allow root/{p=5} p > 0 {print $1; p--}'   /etc/sudoers

上記のコマンドを実行すると、以下の5つのエントリが表示されます。

## 
root    
abcd
ghfd
fcff

ただし、O/P は以下のようになるはずです。

UserList      AccessLevel
root           ALL
abcd        !/usr/bin/*

上記のような出力を得ることができますか?

答え1

多くの実験を行った後、以下のコマンドで可能な限り近い結果を実現できました。

grep "ALL=(ALL)" /etc/sudoers | awk  '{ print $1 "\t""\t""\t" $3 $4}' | cut -d '#' -f1 | cut -d '%' -f1

出力は以下のようになります。

xxxx                    ALL
xxxxxx                      ALL
xxxx                 ALL


xxxx                        NOPASSWD:ALL
abcd                 ALL
xxxx                 ALL

しかし、まだスペースで区切られた出力が得られます。出力内のスペースをスキップしたいです。

関連情報