dポイントプレゼントキャンペーン実施中!

グループIDからグループ名を取得したいのですが、

grep グループID /etc/group | cut -d: -f1 | uniq

もっと簡単な方法はありますか?

A 回答 (3件)

grep GID /etc/group


の代わりに
getent group GID
とか。
あとは#1さんの書かれているパイプで……ですかね。

他にもUDやGIDから求める方法がありそうな気がしますが……。
    • good
    • 0
この回答へのお礼

getentは知りませんでした。これが求めていたものに一番近い気がします。
他にも使い道があって便利そうですね。

ありがとうございました。

お礼日時:2012/05/05 16:11

簡単かどうかはともかく、1コマンドでやるなら、



awk -F: '$3==100{print $1}' /etc/group

おなじGIDが複数個あるときに先頭だけ表示するなら、

awk -F: '$3==100{print $1;exit}' /etc/group
    • good
    • 0
この回答へのお礼

なるほど、awkだと一発で済みますね。
これを気にawkの使い方を勉強してみたいと思います。

ありがとうございました。

お礼日時:2012/05/05 16:13

「簡単」がキーを打つ回数を減らしたいしたいという意味でしたら、シェルスクリプトにするのが良いと思います。

グループIDの部分をシェルスクリプトの引数に置き換えて。

質問に書かれた方法だと、例えば100番と1000番のグループがあったとき100で探すと両方ともヒットしてしまいます。下のようにすれば1つに限定できます。(グループIDの重複を許可した場合はやはり複数ヒットしますが)

grep :グループID: /etc/group | cut -d: -f1
    • good
    • 0
この回答へのお礼

確かに、コロンで挟んだほうが正確ですね。

「簡単」というのは、引数にIDを渡せば名前が返ってくるようなものを想定していたのですが、グループIDが重複できることを考えるとそういうのはなさそうですね。

ありがとうございました。

お礼日時:2012/05/05 15:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!