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

PowerShell: วิธีใช้ Select-String ด้วยการจับคู่แบบตรงทั้งหมด


คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้ใน PowerShell เพื่อใช้ Select-String cmdlet เพื่อค้นหาสตริงที่ตรงกับรูปแบบทุกประการ:

Select-String "\bWest\b" -Path "c:\users\bobbi\data1\conferences.txt"

ตัวอย่างนี้จะส่งคืนทุกบรรทัดจากไฟล์ชื่อ conferences.txt ซึ่งมีสตริง "West" ทุกประการในบรรทัด

โปรดทราบว่าเราใช้ \b ก่อนและหลังสตริงที่เราสนใจเพื่อระบุขอบเขตของคำ

ซึ่งจะทำให้เราสามารถส่งคืนเฉพาะบรรทัดที่มีสตริง "ตะวันตก" ที่แน่นอน และไม่มีการเปลี่ยนแปลง เช่น "มิดเวสต์" หรือ "ตะวันตก" หรืออะไรที่คล้ายกัน

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

ตัวอย่าง: วิธีใช้ Select-String ที่ตรงกันทุกประการใน PowerShell

สมมติว่าเรามีไฟล์อยู่ที่เส้นทางต่อไปนี้:

c:\users\bobbi\data1\conferences.txt

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

ไฟล์นี้มีบรรทัดทั้งหมดหกบรรทัดที่ให้ข้อมูลเกี่ยวกับการประชุมที่ทีมบาสเก็ตบอลต่างๆ เป็นสมาชิกใน NBA

สมมติว่าเราต้องการส่งคืนบรรทัดทั้งหมดที่มีสตริง "West" ตรงที่ใดก็ได้ในบรรทัด

สมมติว่าเราพยายามใช้ไวยากรณ์ต่อไปนี้:

Select-String "West" -Path "c:\users\bobbi\data1\conferences.txt" 

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

ซึ่งจะส่งคืนแต่ละบรรทัดที่มี "ตะวันตก" โดยไม่คำนึงถึงการจับคู่แบบตรงทั้งหมด

ตัวอย่างเช่น เราจะเห็นว่าบรรทัดที่มีทั้ง "ตะวันตก" หรือ "ตะวันตก" จะถูกส่งคืนทั้งคู่

ในการค้นหาการทำงานแบบตรงทั้งหมด เราต้องใช้ไวยากรณ์ต่อไปนี้แทน:

Select-String "\bWest\b" -Path "c:\users\bobbi\data1\conferences.txt" 

ซึ่งจะส่งคืนเฉพาะบรรทัดหมายเลข 4 ในไฟล์ ซึ่งเป็นบรรทัดเดียวที่มีสตริง "West" ตรงกันทุกประการ และไม่ใช่คำรูปแบบใดรูปแบบหนึ่ง

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