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

วิธีจัดเรียงที่อยู่ IP ใน PowerShell (พร้อมตัวอย่าง)


บ่อยครั้งคุณอาจต้องการเรียงลำดับรายการที่อยู่ IP ในไฟล์ข้อความโดยใช้ PowerShell

คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้ได้:

gc ip_list.txt | sort { $_ -replace '\d+', { $_.Value.PadLeft(3, '0') } }

ตัวอย่างนี้จะเรียงลำดับที่อยู่ IP ในไฟล์ชื่อ ip_list.txt

โปรดทราบว่าเราใช้ฟังก์ชัน PadLeft() เพื่อปัดตัวเลขแต่ละชุดในแต่ละที่อยู่ IP โดยมีศูนย์สามตัวทางด้านซ้าย

จากนั้นเราสามารถใช้ฟังก์ชัน sort เพื่อจัดเรียงที่อยู่ IP ตามค่าตัวเลข

หมายเหตุ: คำสั่ง gc เป็นเพียงนามแฝงสำหรับ Get-Content

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

ตัวอย่าง: วิธีจัดเรียงที่อยู่ IP ใน PowerShell

สมมติว่ามีไฟล์ข้อความชื่อ ip_list.txt ซึ่งมีที่อยู่ IP ต่างๆ

เราสามารถใช้คำสั่ง gc (หรือคุณจะพิมพ์ Get-Content) เพื่อดูเนื้อหาของไฟล์นี้:

ไฟล์นี้มีที่อยู่ IP ทั้งหมดเจ็ดแห่ง แต่ขณะนี้ไม่ได้เรียงลำดับแต่อย่างใด

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

gc ip_list.txt | sort { $_ -replace '\d+', { $_.Value.PadLeft(3, '0') } }

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

โปรดสังเกตว่าสิ่งนี้จะส่งกลับที่อยู่ IP ที่เรียงลำดับตามค่าตัวเลขจากน้อยไปหามาก

หากต้องการ คุณสามารถเพิ่มโอเปอเรเตอร์ -Descending ที่ท้ายคำสั่งเพื่อจัดเรียงที่อยู่ IP ตามค่าตัวเลขจากมากไปน้อย:

gc ip_list.txt | sort { $_ -replace '\d+', { $_.Value.PadLeft(3, '0') } } -Descending

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

โปรดสังเกตว่าสิ่งนี้จะส่งกลับที่อยู่ IP ที่เรียงลำดับตามค่าตัวเลขจากมากไปน้อย

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