単一のコマンドで、ユーザーがシステムにログインした回数を知りたいです。
繰り返しコマンドを使用して、彼がログインした回数を見つけました。
$ 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