2013-11-28 3 views

答えて

29
awk -F: '$0=$1 " uid="$3' /etc/passwd 

:

がそうしたいと

-Fは、第一及び第三columsでフィールドセパレータを定義します。したがって、出力フォーマットを提供するために$0を構築してください。

これは強力なawkの非常に基本的な使い方です。この種の問題に頻繁に直面した場合は、チュートリアルを読むことをお勧めします。

今回はあなたが魚を手に入れました。もし私があなただったら、釣りの方法についていくつかの研究をするつもりです。

+3

+1魚の釣り方を学ぶための提案 – Will

8

cutは、このための素晴らしいです:

cut -d: -f1 /etc/passwd 

これは「区切り文字として/etc/passwdファイルの各行の最初のフィールド以外のすべてを:を使用して、カット」を意味します。

2

私は最良の選択肢は、そのようだと思う:
grep "/bin/bash" /etc/passwd | cut -d':' -f1

+1

この回答は私が探しているものです。それはGUIを使用してログインできるユーザーを与える:) –

0
awk -F':' '$3>999 {print $1 " uid: " $3}' /etc/passwd | column -t | grep -v nobody 

はきちんとユーザーIDを含む注文あなたにすべての通常のユーザー(UID> = 1000)を与えます。

関連する問題