Để bắt đầu, bạn có thể sử dụng awkđể tìm kiếm các dòng trong tệp có chứa một chuỗi như vậy:
$ awk '/CFS264/ { .... }' lastloggedin
Các bit trong { .... }sẽ là các lệnh cần thiết để kiểm đếm số lượng dòng với chuỗi đó. Để xác nhận rằng phần trên đang hoạt động, bạn có thể sử dụng phần print $0trong đó để in những dòng có chứa chuỗi tìm kiếm.
$ awk '/CFS264/ { print $0 }' lastloggedin
Về việc đếm, nếu bạn tìm kiếm "bộ đếm awk", bạn sẽ vấp phải câu hỏi và trả lời SO này có tiêu đề: sử dụng awk để đếm không có hồ sơ . Phương pháp hiển thị ở đó sẽ đủ cho những gì bạn mô tả:
$ awk '/CFS264/ {count++} END{print count}' lastloggedin
Thí dụ
$ last > lastloggedin
$ awk '/slm/ {count++} END {print count}' lastloggedin
758
$ grep slm lastloggedin | wc -l
758
$ grep -c slm lastloggedin
758
LƯU Ý: Bạn không nói trường CFS264 nào liên quan đến lastđầu ra. Giả sử đó là tên người dùng thì bạn có thể hạn chế thêm awklệnh chỉ tìm kiếm trường đó như sau:
$ awk '$1=="CFS264" { print $0 }' lastloggedin
awk? Nếu không, bạn chỉ có thể sử dụnggrep -c CFS264 lastloggedin | wc -l.