Başlamak için aşağıdaki awk
gibi dize içeren bir dosyadaki satırları aramak için kullanabilirsiniz :
$ awk '/CFS264/ { .... }' lastloggedin
İrade'deki bitler, { .... }
bu dizeyle satır sayısını hesaplamak için gereken komutlardır. Yukarıdakilerin çalıştığını doğrulamak için print $0
, orada arama dizesini içeren satırları yazdırmak için orada bir kullanabilirsiniz .
$ awk '/CFS264/ { print $0 }' lastloggedin
Sayma ile ilgili olarak, "awk sayacı" için arama yaparsanız şu SO Q&A başlıklı tökezleyeceksiniz: kayıt sayısını saymak için awk kullanma . Orada gösterilen yöntem tarif ettiğiniz şeyler için yeterli olacaktır:
$ awk '/CFS264/ {count++} END{print count}' lastloggedin
Misal
$ last > lastloggedin
$ awk '/slm/ {count++} END {print count}' lastloggedin
758
$ grep slm lastloggedin | wc -l
758
$ grep -c slm lastloggedin
758
NOT: Çıkışta hangi alanın CFS264 ile ilgili olduğunu söylemezsiniz last
. Bir kullanıcı adı olduğunu varsayarsak, awk
komutu yalnızca aşağıdaki gibi arama yapmak için kısıtlayabilirsiniz :
$ awk '$1=="CFS264" { print $0 }' lastloggedin
awk
mısın? Değilse, sadece kullanabilirsinizgrep -c CFS264 lastloggedin | wc -l
.