awkはpasswdから印刷しますが、ユーザーID> 1000の場合にのみ適用されます。

awkはpasswdから印刷しますが、ユーザーID> 1000の場合にのみ適用されます。

さて、やった:

cat /etc/passwd | awk -F: '{ print $1 }'
  • -F ==> データフィールドを行で区切るファイル区切り文字を指定します。
  • $ 1 ==>最初に入力されたフィールドを示します。

しかし、id超過したユーザーだけを印刷するにはどうすればよいですか1000

答え1

Steeldriverがコメントで指摘したように、条件がtrueの場合にのみ印刷されるように、印刷ステートメントに条件を追加するだけです。

awk -F: '$3 > 1000 { print $1 }' /etc/passwd

ここに$3 > 1000条件があります。 awkはファイルを直接読み取ることもできるので、上記のように直接またはリダイレクトを使用してファイル名をawkに直接指定することで、aとcatパイプを回避できます。|

awk -F: '$3 > 1000 { print $1 }' < /etc/passwd

関連情報