最後のコマンドをフィルタリングするためのシェルスクリプトを書くには?

最後のコマンドをフィルタリングするためのシェルスクリプトを書くには?

ログイン統計のスクリプトを作成したいと思います。ユーザーがログインした回数を計算し、エンドユーザーが指定した昇順または降順で表示したいと思います。問題は、ユーザーがログインした回数を数えるスクリプトを作成する方法がわからないことです。最後のコマンドを使用する必要があります。

ベストアンサー1

#!/bin/bash
userlist=$(cat /etc/passwd | cut -d : -f 1)
for user in $userlist; do
        timesloggedin=$(last $user | head -n -2 | wc -l);
        echo $timesloggedin $user;
done | sort -r

これにより、デーモンアカウントなどを含むシステム内のすべてのユーザー名が取得されます。必要でない場合は、userlistユーザー名のリストを入力してください。出力を昇順にソートするには、-rソートしたいフラグを削除します。

おすすめ記事