ああ|ああとはどういう意味ですか? cut -d " " -f 1 - grepとsortで何をすべきですか?

ああ|ああとはどういう意味ですか? cut -d " " -f 1 - grepとsortで何をすべきですか?

私が解読したいコードは次のとおりです。

w | cut -d " " -f 1 - | grep -v USER | sort -u

答え1

w | cut -d " " -f 1 - | grep -v USER | sort -u

このwコマンドは、いくつかの追加情報でログインしたユーザーを表示します。

$ w
 12:59:25 up 50 days, 21:45,  4 users,  load average: 1.02, 1.03, 1.01
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
bill      pts/12   xxx.xxx.xxx.xxx  12:55    0.00s  0.03s  0.03s tmux
bill      pts/14   tmux(64415).%0   12:55    0.00s  0.05s  0.03s w
dave      pts/18   yyy.yyy.yyy.yyy  Wed09   23:52m  1:15   1:07  vim clear_snapshots.pl
dave      pts/2    yyy.yyy.yyy.yyy  Tue14   23:48m  3.65s  3.65s -bash

このcut -d " " -f 1 -コマンドは、スペースで区切られた最初の列を抽出します(-最後の列は削除できます)。

$ w | cut -d " " -f 1

USER
bill
bill
dave
dave

grep -v USER文字列を含むすべての行を削除しますUSER

$ w | cut -d " " -f 1 | grep -v USER

bill
bill
dave
dave

sort -u入力をアルファベット順に並べ替え、重複行を削除します。

$ w | cut -d " " -f 1 | grep -v USER | sort -u

bill
dave

私の考えでは、現在ログインしているユーザーのユーザー名をソートされたリストとしてリストしようとしているようです。

より簡単な方法はコマンドを使用することですusersusersログインしたすべてのユーザーを1行に出力しますが、それをパイプして1tr ' ' '\n'sort -uに1人のユーザーを取得できます。

users | tr ' ' '\n' | sort -u

また、これは生成された形式には依存しませんw。出力の最初の行の時間は、現在の時間が1桁か2桁か、実装によってはwパイプライン出力の一部でも、そうでなくてもかまいません。w使用)。

関連情報