GNU/Linux >> Belajar Linux >  >> Linux

Hitung Catatan Pencocokan Pola Dengan Awk?

Jadi saya disuruh melakukan last > lastloggedin yang membuat file yang menunjukkan login terakhir kelas sejak sistem terakhir reboot, dan sekarang saya diminta untuk menulis skrip Awk yang diberi nama myawk yang menghitung/menentukan berapa banyak baris lastloggedin berisi string CFS264 .

Saya telah melakukan grep -c CFS264 lastloggedin

Jawaban yang Diterima:

Untuk memulai, Anda dapat menggunakan awk untuk mencari baris dalam file yang berisi string seperti:

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

Bit dalam { .... } akan menjadi perintah yang diperlukan untuk menghitung jumlah baris dengan string itu. Untuk mengonfirmasi bahwa di atas berfungsi, Anda dapat menggunakan print $0 di sana untuk mencetak baris yang berisi string pencarian.

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

Mengenai penghitungan, jika Anda mencari "penghitung awk", Anda akan menemukan T&J SO ini berjudul:using awk to count no of record. Metode yang ditunjukkan di sana 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 termasuk dalam CFS264 di last keluaran. Dengan asumsi itu adalah nama pengguna maka Anda dapat membatasi lebih lanjut awk perintah untuk mencari hanya bidang itu seperti:

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

Linux
  1. Memulai dengan awk, alat pengurai teks yang andal

  2. Mengekstrak dan menampilkan data dengan awk

  3. Ganti Garis yang Mencocokkan Pola Dengan Garis Dari File Lain Secara Berurutan?

  1. Bagaimana Cara Mencari Di File Tertentu yang Sesuai Dengan Pola?

  2. Fungsi Bash untuk menemukan pola pencocokan file terbaru

  3. menggunakan awk dengan kondisi nilai kolom

  1. Hitung jumlah pola yang cocok di editor vim

  2. AWK dan nama file dengan spasi di dalamnya.

  3. Temukan file yang cocok dengan pola tertentu dan berikan nama file itu sebagai nilai ke variabel dalam skrip shell?