PowerShell: วิธีใช้รับเนื้อหาพร้อมตัวกรอง
คุณสามารถใช้ Get-Content cmdlet ใน PowerShell เพื่อดึงเนื้อหาจากไฟล์ใดไฟล์หนึ่งได้
บ่อยครั้งคุณอาจต้องการกรองผลลัพธ์จาก Get-Content cmdlet เพื่อแสดงเฉพาะบรรทัดจากไฟล์ที่มีรูปแบบเฉพาะ
คุณสามารถใช้วิธีการต่อไปนี้เพื่อดำเนินการดังกล่าว:
วิธีที่ 1: ใช้รับเนื้อหาและตัวกรองตามสตริงเดียว
Get-Content employees.txt | Select-String -pattern $my_pattern
ตัวอย่างนี้จะดึงข้อมูลทุกบรรทัดจากไฟล์ชื่อ employees.txt ซึ่งมีรูปแบบที่ระบุในตัวแปร $my_pattern
วิธีที่ 2: ใช้รับเนื้อหาและกรองตามหลายสตริง
Get-Content employees.txt | Select-String -pattern $my_patterns
ตัวอย่างนี้จะดึงข้อมูลทุกบรรทัดจากไฟล์ชื่อ employees.txt ซึ่งมีรูปแบบใดๆ ที่ระบุในอาร์เรย์ $my_patterns
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติ
ตัวอย่างที่ 1: ใช้รับเนื้อหาและตัวกรองตามสตริงเดียว
สมมติว่าเรามีไฟล์ชื่อ employees.txt ในไดเร็กทอรีปัจจุบันที่มีค่า ID สำหรับพนักงานหลายๆ คนในบริษัทบางแห่ง
เราสามารถใช้ Get-Content cmdlet เพื่อดูบรรทัดทั้งหมดจากไฟล์นี้:
สมมติว่าเราต้องการกรองเฉพาะบรรทัดในไฟล์ที่มีรูปแบบ "A00" อยู่ที่ไหนสักแห่งในค่ารหัสพนักงาน
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อดำเนินการดังกล่าว:
$my_pattern = "A00"
Get-Content employees.txt | Select-String -pattern $my_patternภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:
โปรดสังเกตว่าสิ่งนี้จะส่งกลับเฉพาะบรรทัดจากไฟล์ที่มีรูปแบบ "A00" อยู่ที่ไหนสักแห่งในบรรทัด
หากคุณต้องการส่งคืนเฉพาะเนื้อหาโดยไม่มีบรรทัดว่าง คุณสามารถกรองคุณสมบัติ บรรทัด ได้:
$my_pattern = "A00"
Get-Content employees.txt | Select-String -pattern $my_pattern | % { $_.Line }ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:
ซึ่งจะส่งคืนเฉพาะบรรทัดจากไฟล์ที่มีรูปแบบ “A00” และไม่มีบรรทัดว่างก่อนหรือหลังเนื้อหา
ตัวอย่างที่ 2: ใช้รับเนื้อหาและกรองตามหลายสตริง
สมมติว่าเราต้องการกรองบรรทัดในไฟล์ employees.txt ที่มีรูปแบบใดๆ ต่อไปนี้ในค่ารหัสพนักงาน:
- A00
- B14
- C00
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อดำเนินการดังกล่าว:
$my_patterns = @("A00", "B14", "C00")
Get-Content employees.txt | Select-String -pattern $my_patternsภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:
โปรดสังเกตว่าสิ่งนี้จะส่งกลับเฉพาะบรรทัดจากไฟล์ที่มีรูปแบบใดรูปแบบหนึ่งจากสามรูปแบบที่เราระบุ
หมายเหตุ: คุณสามารถดูเอกสารฉบับสมบูรณ์สำหรับ Get-Content cmdlet ใน PowerShell ได้ที่นี่



