ファイルに名前が表示される回数を見つけるには?

ファイルに名前が表示される回数を見つけるには?

単一のコマンドで、ユーザーがシステムにログインした回数を知りたいです。

繰り返しコマンドを使用して、彼がログインした回数を見つけました。

$ last | grep -c user1
$ last | grep -c user2

1行で実行できる代替コマンドはありますか?

答え1

次のようなものを使用できます

$ last | grep -E -c 'user1|user2'

以前に必要な文字を-E省略できます。\|

ファイルに多数のユーザー名が1行に1つずつリストされている場合は、ファイルから直接読み取ることができます。

$ last | grep -F -c -f userlist.txt

これは-F、ファイルの行が正規表現ではなく、そのまま一致する必要がある文字列であることを意味します。

答え2

機能を拡張するには、grepの代わりにegrepを使用してください。

$ last | egrep "(user1|user2)"

出力が長い場合は、「less」ポケットベルを使用して簡単に表示できるようにスクロール可能にすることができます。

$ last | egrep "(user1|user2)" | less

関連情報