特定のGIDを持つユーザーエコー

特定のGIDを持つユーザーエコー

基本グループがコマンドライン引数であるIDを持つグループと同じユーザーのユーザー名をエコーするシェルスクリプトを作成する必要があります。

ベストアンサー1

グループではなくGIDで探しているから名前、そしてあなたの言葉が正しい基本的な各ユーザーのGIDは、Awkを使用すると非常に簡単です。

フォーマットは/etc/passwdで説明されていますman 5 passwd。マニュアルページを引用すると、次のようになります。

   There is one entry per line, and each line has the format:

          account:password:UID:GID:GECOS:directory:shell

したがって、各行の最初のフィールドを印刷したいと思います。第四フィールドはスクリプトに渡されます。ここで、「フィールド」はコロンで区切られます。

個人的には、このためにスクリプトを使用せずにシェル関数を使用します。望むより:

したがって、必要なものは次のとおりです。

  • -FAwkオプションについて
  • awk構文の基本的な理解は次のとおりです。condition {action}
  • Awkを使用するときにフィールドを参照する方法を学びます。
  • Awkにシェル変数を渡す方法を知っていれば役に立ちます。-vawkのオプションを見てください。

これらについては、Awkのマニュアルページを確認してください。


私はあなたのために宿題をしません - ポイントは学ぶことですパスワード、コピーして貼り付ける方法を学ばないでください。しかし、これについて混乱している場合は、この質問にコメントしてください。必要に応じて詳細を追加できます。 (約1週間後に完全なソリューションを含むように更新することができます。)


注:実際の世界では、他の回答に示すように、ユーザーを見つけることに関連する複雑さははるかに大きくなります。ユーザーがオブジェクトを保存する方法はいくつかありますが、これらの複雑さを説明するのは複雑です。

しかし、あなたの質問はAwkを使用して簡単に実行できるカスタマイズされた課題であるようで、現実世界で有用な実用的なアプリケーションでもあります。

おすすめ記事