Awkを使用してパターンに一致するレコード数を計算する

Awkを使用してパターンに一致するレコード数を計算する

そのため、最後のシステムの再起動後に最後にログインしたクラスを表示するファイルを作成するように指示され、文字列を含む行数をlast > lastloggedin計算/決定する名前のAwkスクリプトを作成するように求められました。myawklastloggedinCFS264

私はやったgrep -c CFS264 lastloggedin

ベストアンサー1

まず、次のようにawkファイルから文字列を含む行を検索できます。

$ awk '/CFS264/ { .... }' lastloggedin

ビットは、{ .... }その文字列の行数を計算するために必要な命令になります。上記の操作が機能していることを確認するには、print $0検索文字列を含む行を単に印刷するためにaを使用できます。

$ awk '/CFS264/ { print $0 }' lastloggedin

計算に関しては、「awk counter」を検索すると、「awk counter」というタイトルのQ&Aが表示されます。awkを使用してレコード数を計算する。ここに示されている方法は、説明する内容に十分です。

$ 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

メモ:CFS264フィールドに属する出力が表示されませんでしたlast。ユーザー名であると仮定すると、awk次のようにそのフィールドのみを検索するようにコマンドをさらに制限できます。

$ awk '$1=="CFS264" { print $0 }' lastloggedin

おすすめ記事