Untuk memulai, Anda dapat menggunakan awk
untuk mencari baris dalam file yang berisi string seperti:
$ awk '/CFS264/ { .... }' lastloggedin
Bit dalam { .... }
akan menjadi perintah yang dibutuhkan untuk menghitung jumlah baris dengan string itu. Untuk mengonfirmasi bahwa cara di atas berfungsi, Anda dapat menggunakan a print $0
di sana untuk hanya mencetak baris yang berisi string pencarian.
$ awk '/CFS264/ { print $0 }' lastloggedin
Mengenai penghitungan, jika Anda mencari "counter awk" Anda akan menemukan SO Q&A ini berjudul: menggunakan awk untuk menghitung tidak ada catatan . Metode yang ditunjukkan di sana akan cukup untuk apa yang Anda gambarkan:
$ awk '/CFS264/ {count++} END{print count}' lastloggedin
Contoh
$ last > lastloggedin
$ awk '/slm/ {count++} END {print count}' lastloggedin
758
$ grep slm lastloggedin | wc -l
758
$ grep -c slm lastloggedin
758
CATATAN: Anda tidak mengatakan bidang mana yang terkait dengan CFS264 di last
output. Dengan asumsi itu adalah nama pengguna maka Anda selanjutnya dapat membatasi awk
perintah untuk mencari hanya bidang itu seperti:
$ awk '$1=="CFS264" { print $0 }' lastloggedin
awk
? Jika tidak, Anda bisa menggunakannyagrep -c CFS264 lastloggedin | wc -l
.