私は次のような単純なawkプログラムを書いた。
last -n 10 | awk'{print "username: " $1}'
私は次のような結果を得たときに驚きました。
> username: someUsername1
> username: someUsername2
> username: someUsername3
> ...
> username: someUsername10
> username:
> username: wtmp
これを使用して、コマンドが私が提供した数より2行多く返したことlast -n 10 | wc -l
を知りました(出力は)。last
12
確認してみると、man last
この2つの追加行または削除方法に関する情報が見つかりませんでした。
空行と「wtmp」行は何ですか?私はどのようにそれらを無視できますか? (たぶん変な方でしょうか?)
ありがとうございます!
ベストアンサー1
どこでも動作し、ログインデータベースのエントリが10個未満の場合、最後の2行を切り捨てる一般的なソリューションです。
last -n 10 | head -n -2 | awk'{print "username: " $1}'
最新バージョンutil-linux
(2.30.2以降)では、wtmp
次の行を削除できます。
last -n 10 --time-format=notime | awk'{print "username: " $1}'