PowerShell: วิธีใช้ Where-Object ในรายการ
บ่อยครั้งคุณอาจต้องการใช้ Where-Object cmdlet ใน PowerShell เพื่อกรองออบเจ็กต์ให้มีเฉพาะรายการที่อยู่ในรายการที่ระบุ
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้ได้:
Import-Csv $my_file | Where-Object { $_.team -in $specific_teams}ตัวอย่างนี้จะนำเข้าไฟล์ CSV ที่อยู่ในเส้นทางที่ระบุโดย $my_file จากนั้นกรองไฟล์เพื่อแสดงเฉพาะแถวที่มีค่าในคอลัมน์ ทีม อยู่ในรายการ ระบุโดย $special_teams
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: วิธีใช้ Where-Object ในรายการใน PowerShell
สมมติว่าเรามีไฟล์ CSV ที่บันทึกไว้ในตำแหน่งต่อไปนี้:
c:\users\bobbi\nba_data.csv
สมมติว่าเราใช้ Import-Csv cmdlet เพื่อดูเนื้อหาของไฟล์ทั้งหมดนี้:
ไฟล์ประกอบด้วยสามคอลัมน์ที่แสดง ทีม, คะแนน และ แอสซิสต์ สำหรับผู้เล่นบาสเกตบอลต่างๆ
สมมติว่าเราต้องการนำเข้าเฉพาะแถวที่มีสตริงในคอลัมน์ ทีม อยู่ในรายการต่อไปนี้:
- แมฟ
- เหยี่ยว
- ราชา
- จรวด
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อดำเนินการดังกล่าว:
$my_file = "c:\users\bobbi\nba_data.csv"
$specific_teams = @("Mavs", "Hawks", "Kings", "Rockets")
Import-Csv $my_file | Where-Object { $_.team -in $specific_teams}ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:
โปรดสังเกตว่าเฉพาะแถวที่มีชื่อทีมใดชื่อหนึ่งที่ระบุใน $special_teams เท่านั้นที่จะรวมอยู่ในเอาต์พุต
หมายเหตุ: หากต้องการยกเว้นแถวที่มีชื่อทีมเฉพาะ เพียงแทนที่ตัวดำเนินการ -in ด้วยตัวดำเนินการ -notin แทน

