次のawkコマンドを使用して、システム上のすべてのユーザーを一覧表示するファイルからユーザーを返そうとします。ただし、8番目のフィールドが空でユーザー変数と一致する場合にのみ適用されます(ループで使用されます)。
awk -F':' -v user="$user" 'index($0, user) {if ($8=="") print $1}' file
現在私の問題は、文字列が含まれていて正確に一致しないユーザーを返すことです。この問題を解決する方法はありますか?
答え1
解決しました。
私は最終的に以下を使用しました。
awk -F':' -v user="$user" '$1 == user {if ($8 == "") print $1}' file
私は愚かな子です。
答え2
上記の答えは正しいです。ただし、次のコマンドを使用して詳細を抽出できます。
awk -F ',' '{if ( $9 == "" && $1 ==="$user") $1 印刷}' ファイル