ในการเริ่มต้นคุณสามารถใช้awk
เพื่อค้นหาบรรทัดในไฟล์ที่มีสตริงดังนี้
$ awk '/CFS264/ { .... }' lastloggedin
บิตใน{ .... }
คำสั่งจะเป็นคำสั่งที่จำเป็นในการนับจำนวนบรรทัดด้วยสตริงนั้น เพื่อยืนยันว่าข้างต้นใช้งานได้คุณสามารถใช้ a print $0
ในนั้นเพื่อพิมพ์บรรทัดเหล่านั้นที่มีสตริงการค้นหา
$ awk '/CFS264/ { print $0 }' lastloggedin
ในฐานะที่เป็นนับถ้าคุณค้นหา "awk เคาน์เตอร์" คุณจะสะดุดเมื่อนี้ SO 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
awk
หรือไม่?grep -c CFS264 lastloggedin | wc -l
ถ้าไม่คุณก็สามารถใช้