ค้นหาเว็บไซต์

PowerShell: วิธีพิมพ์ N Lines หลังจากจับคู่รูปแบบ


บ่อยครั้งคุณอาจต้องการใช้ PowerShell เพื่อพิมพ์ N บรรทัดหลังจากรูปแบบการจับคู่เฉพาะในไฟล์

คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อดำเนินการดังกล่าว:

Select-String "Mavericks" teams.txt -context 0,3

ตัวอย่างนี้ค้นหารูปแบบ “Mavericks” ในไฟล์ชื่อ teams.txt และพิมพ์บรรทัดที่มีรูปแบบพร้อมกับ 3 บรรทัดหลังจากนั้น

โปรดทราบว่าเราใช้ Select-String cmdlet เพื่อเลือกบรรทัดที่มีรูปแบบจากไฟล์ก่อน

จากนั้นเราใช้พารามิเตอร์ -context เพื่อระบุจำนวนบรรทัดก่อน (0) และหลัง (3) บรรทัดที่ตรงกันที่จะพิมพ์เช่นกัน

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: วิธีการพิมพ์ N บรรทัดหลังจากจับคู่รูปแบบใน PowerShell

สมมติว่าเรามีไฟล์ข้อความในไดเรกทอรีปัจจุบันของเราชื่อ teams.txt ซึ่งมีข้อมูลเกี่ยวกับทีมบาสเก็ตบอลต่างๆ

เราสามารถใช้ Get-Content cmdlet เพื่อดูเนื้อหาของไฟล์นี้:

สมมติว่าเราต้องการค้นหาบรรทัดที่มีสตริง “Mavericks” แล้วพิมพ์บรรทัดนี้พร้อมกับ 3 บรรทัดหลังจากนั้น

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อดำเนินการดังกล่าว:

Select-String "Mavericks" teams.txt -context 0,3

ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:

โปรดสังเกตว่าบรรทัดที่มีคำว่า "Mavericks" จะถูกพิมพ์พร้อมกับบรรทัด 3 ที่อยู่ด้านหลังในไฟล์

โปรดทราบว่าหากคุณต้องการพิมพ์บรรทัดที่ตรงกันพร้อมกับ 3 บรรทัด ก่อนหน้า คุณสามารถใช้ไวยากรณ์ต่อไปนี้แทน:

Select-String "Mavericks" teams.txt -context 3,0

วิธีนี้จะพิมพ์บรรทัดที่มี "Mavericks" พร้อมด้วย 3 บรรทัด ก่อนหน้า ในไฟล์

หมายเหตุ: คุณสามารถดูเอกสารฉบับสมบูรณ์สำหรับ Select-String cmdlet พร้อมด้วยพารามิเตอร์ -context ใน PowerShell ได้ที่นี่

บทความที่เกี่ยวข้อง