แสดงจำนวนบรรทัดของไฟล์เฉพาะ


5

นี่เป็นวิธีที่ถูกต้องในการแสดงจำนวนบรรทัดของไฟล์ที่ระบุหรือไม่

cat file | grep * -c

คำตอบ:


16

คุณสามารถใช้คำสั่งนี้:

wc -l <file>

นี่จะคืนค่าจำนวนบรรทัดทั้งหมดในไฟล์ที่ให้


1

เชลล์ของคุณจะ "ขยาย" เครื่องหมายดอกจันในgrep * -cทุกสิ่งในไดเรกทอรีปัจจุบันซึ่งเป็นผลมาจาก:

grep foo bar baz -c

ซึ่งไม่ใช่สิ่งที่คุณต้องการ

ลองcat file | grep -c .นับจำนวนแถวที่มีอักขระที่พิมพ์ได้อย่างน้อยหรือcat file | wc -lนับจำนวนบรรทัด

อย่างไรก็ตามหากอินพุตเป็นไฟล์คุณอาจพิจารณาให้สิทธิ์การเข้าถึงไฟล์แทนการไพพ์ไฟล์บน stdin ไปยังคำสั่งที่ทำการนับ (ตัวอย่างเช่นwc -l fileหรือgrep . -c file)

หากคุณไม่ต้องการwcแสดงชื่อไฟล์เมื่อให้ชื่อไฟล์คุณสามารถแยกคำแรกของผลลัพธ์wc -lด้วยตัวกรองที่คุณโปรดปรานเช่นcut(1): wc -l foo | cut -d' ' -f 1หรือawk(1): wc -l foo | awk '{print $1}'หรืออย่างอื่นที่มีผลเหมือนกัน


0

หมายเลขบรรทัดที่ไม่ว่างทั้งหมด:

cat file | nl

หรือรวมทุกอย่าง:

cat file | nl -ba
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.