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 ได้ที่นี่

