だから私はlast > lastloggedin
をするように言われました これにより、最後のシステム再起動以降のクラスの最後のログインを示すファイルが作成され、myawk
という名前のAwkスクリプトを作成するように求められます。 lastloggedin
の行数をカウント/決定します 文字列CFS264
が含まれています 。
grep -c CFS264 lastloggedin
を実行しました
承認された回答:
開始するには、awk
を使用できます 次のような文字列を含むファイル内の行を検索するには:
$ awk '/CFS264/ { .... }' lastloggedin
{ .... }
のビット その文字列の行数を集計するために必要なコマンドになります。上記が機能していることを確認するには、print $0
を使用できます。 そこに検索文字列を含む行を印刷するだけです。
$ awk '/CFS264/ { print $0 }' lastloggedin
カウントに関しては、「awkカウンター」を検索すると、「awkを使用してレコード数をカウントしない」というタイトルのこのSO Q&Aに出くわします。そこに示されている方法は、あなたが説明するものには十分です:
$ awk '/CFS264/ {count++} END{print count}' lastloggedin
例
$ last > lastloggedin
$ awk '/slm/ {count++} END {print count}' lastloggedin
758
$ grep slm lastloggedin | wc -l
758
$ grep -c slm lastloggedin
758
注: last
でCFS264がどのフィールドに関係するかはわかりません 出力。それがユーザー名であると仮定すると、awk
をさらに制限できます。 そのようなフィールドのみを検索するコマンド:
$ awk '$1=="CFS264" { print $0 }' lastloggedin