Windows เทียบเท่ากับ“ wc -l” คืออะไร


52

เทียบเท่าของ Windows ของคำสั่ง Linux / Unix คืออะไรwc -l?

โดยพื้นฐานแล้วคุณจะนับจำนวนบรรทัดเอาต์พุตจากคำสั่งบนบรรทัดรับคำสั่งของ Windows ได้อย่างไร


คุณสามารถใช้เครื่องมือ GnuWin32 และมีwc(ดีwc.exe... ) gnuwin32.sourceforge.net จริง ๆ
ivanivan

คำตอบ:


65

กระบวนการ / Unix คำสั่ง "นับบรรทัด" ลินุกซ์มีเทียบเท่าของwc -l Windowsfind /c /v ""

มันทำงานอย่างไร

ตามที่Raymond ChenจากThe Old New Thingฟังก์ชั่นนี้เป็นเช่นนั้นมาตั้งแต่

มันเป็นเรื่องแปลกประหลาดพิเศษของfindคำสั่งที่สตริง null จะถือว่าเป็นไม่เคยจับคู่

inverted ( /v) count ( /c) จึงนับจำนวนบรรทัดทั้งหมดได้อย่างมีประสิทธิภาพ ดังนั้นการนับบรรทัด

ตัวอย่างการใช้งาน

ในการนับจำนวนไฟล์ที่ถูกแก้ไขในสำเนาการทำงานการโค่นล้ม:

svn status -q | find /c /v ""

คำสั่งดังกล่าวสามารถใช้ในการทำเครื่องหมายการสร้างว่า "สกปรก" หากการนับไม่0เช่นมีการเปลี่ยนแปลงที่ไม่มีข้อผูกมัดในสำเนาการทำงาน

ในการรับจำนวนบรรทัดของไฟล์ Java ทั้งหมดของคุณ:

(for /r %f in (*.java) do @type "%f") | find /c /v ""

คำสั่งfind /c /v ""สามารถเพิ่มลงในไฟล์แบตช์ได้หากต้องการ อย่าลืมทำซ้ำ%ตัวละครในไฟล์แบทช์


PowerShell

PowerShell ที่ทำงานได้นั้นเทียบเท่าMeasure-Object -lineกับการจัดรูปแบบเพิ่มเติมที่จำเป็นเช่น (รายการไดเรกทอรีเพื่อความเรียบง่าย)

(ls | Measure-Object -line).Lines

1
ขอบคุณสำหรับการแบ่งปัน. สร้างส่วนสำคัญสำหรับการอ้างอิง - gist.github.com/a4ede7054b2ce5ee2708dd49bbd5a1a1
maheshwaghmare

11

ใน PowerShell เพื่อรับจำนวนบรรทัดของไฟล์ java ทั้งหมดของคุณ:

type *.java | Measure-Object -line

3
ยินดีต้อนรับสู่ superuser: - คำถามเกี่ยวกับ CMD ไม่ใช่ PowerShell ถ้าคุณสามารถตอบ OP ได้โปรดแก้ไขคำตอบของคุณ เหล่านี้อาจช่วยวิธีการคำตอบ , วิธีการขอ , ศูนย์ช่วยเหลืออีกครั้งยินดีต้อนรับสู่ superuer และฉันหวังว่าคุณจะกลับมาขอบคุณ
mic84

9
ขอบคุณ @ mic84 คำถามคือเกี่ยวกับบรรทัดคำสั่งของ Windows และ Microsoft พยายามที่จะแทนที่ CMD ด้วย PowerShell: networkworld.com/article/3143196/windows/ ...... นี่เป็นคำตอบที่มีประโยชน์มาก
user3808394

-2

findstr / n / r

นี่คือ regex ที่ จำกัด ดังนั้น / n จะแสดงหมายเลขบรรทัดของการจับคู่และ "." ตรงกับตัวละครใด ๆ


2
คำถามไม่ใช่วิธีการแสดงไฟล์ที่มีหมายเลขบรรทัด คำถามคือวิธีการกำหนดจำนวนบรรทัดในไฟล์
สกอตต์

ดูที่จำนวนบรรทัดสุดท้ายและนั่นคือจำนวนบรรทัดในไฟล์ คำสั่ง "find" ใช้งานได้เช่นกัน แต่บางที findstr จะมีประโยชน์ในบางกรณี ฉันได้พบว่ามันเป็น
Gary Gatten

นั่นไม่ใช่คำตอบที่เป็นมิตรกับผู้ใช้โดยเฉพาะอย่างยิ่งเมื่อเราได้รับคำตอบที่ตรงกว่า แต่ถ้านั่นคือคำตอบของคุณโปรด  แก้ไข  คำตอบเพื่อให้ชัดเจนและสมบูรณ์ยิ่งขึ้น
สกอตต์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.