Findstr: ค้นหาสตริงเฉพาะในไฟล์ด้วยคำสั่ง Windows (ทางเลือก Grep)
- หมวดหมู่: Windows
ผู้ใช้ส่วนใหญ่ที่ใช้ Linux พอใจกับการใช้บรรทัดคำสั่ง และหนึ่งในข้อกำหนดพื้นฐานคือการค้นหาสตริงเฉพาะภายในไฟล์หรือไฟล์เฉพาะ หรือแม้แต่จากเอาต์พุตของคำสั่งเฉพาะ กริป คือ ตัวเลือกบรรทัดคำสั่ง ใช้เพื่อค้นหาสตริงเฉพาะจากภายในไฟล์หรือหลายไฟล์หรือจากเอาต์พุตของคำสั่ง แต่สามารถใช้ได้ใน Linux เท่านั้น สำหรับ Windows ทางเลือก grep คือ findstr .
เนื่องจากผู้ใช้ Windows ไม่ได้ใช้บรรทัดคำสั่งสำหรับสิ่งเล็กๆ น้อยๆ ผู้ใช้ส่วนใหญ่จึงไม่ทราบวิธีค้นหาสตริงเฉพาะในไฟล์โดยใช้บรรทัดคำสั่งของ Windows หรือแม้แต่ PowerShell ในบทความนี้ เราจะพูดถึงวิธีใช้ findstr (เทียบเท่ากับ Grep ใน Windows) ใน command prompt และวิธีใช้ฟังก์ชัน find โดยใช้ PowerShell มาพูดคุยกันถึงสถานการณ์ต่างๆ ที่สามารถนำมาใช้ในสถานการณ์จริงได้ สรุปด่วน ซ่อน 1 กรองผลลัพธ์ของคำสั่งโดยใช้ Command Prompt 2 ค้นหาสตริงเฉพาะภายในไฟล์เดียวโดยใช้ Command Prompt 3 ค้นหาสตริงเฉพาะในโฟลเดอร์โดยใช้ Findstr
กรองผลลัพธ์ของคำสั่งโดยใช้ Command Prompt
หากคุณต้องการกรองผลลัพธ์ของคำสั่ง คุณสามารถใช้ | findstr string_to_find
ตัวอย่างเช่น ฉันมักจะใช้ netstat เพื่อตรวจสอบการเชื่อมต่อที่ทำบนคอมพิวเตอร์ของฉัน ถ้าฉันต้องการตรวจสอบว่าแอปหรือที่อยู่ IP ใดเชื่อมต่อกับพอร์ตใดพอร์ตหนึ่ง ฉันจะใช้คำสั่งต่อไปนี้:
netstat | findstr imaps 
ค้นหาพอร์ตการกรอง imaps
นี่จะแสดงเฉพาะพอร์ต imap ที่ปลอดภัยที่เปิดบนคอมพิวเตอร์ของฉัน
ค้นหาสตริงเฉพาะภายในไฟล์เดียวโดยใช้ Command Prompt
คำสั่งสำหรับวัตถุประสงค์นี้คือ:
findstr string_to_find file_name
ตัวอย่างเช่น,
findstr reader ใหม่ 1.txt
คุณยังสามารถระบุพาธแบบเต็มของไฟล์ได้หากไฟล์นั้นไม่อยู่ในไดเร็กทอรีเดียวกับที่เปิดในพรอมต์คำสั่ง 
ค้นหาสตริงข้อความในไฟล์
ค้นหาสตริงเฉพาะในโฟลเดอร์โดยใช้ Findstr
คุณยังสามารถระบุโฟลเดอร์เพื่อค้นหาสตริงข้อความเฉพาะในหลายไฟล์
findstr /M ตัวอ่าน C:UsersUsmanDesktop*
ซึ่งจะแสดงรายการไฟล์ทั้งหมดที่มีพาธแบบเต็มที่มีตัวอ่านสตริงข้อความ ถ้าคุณไม่ระบุ /M ผลลัพธ์จะแสดงสตริงข้อความที่ถูกต้องพร้อมกับชื่อไฟล์ที่พบสตริงนั้น 
ค้นหาสตริงจากโฟลเดอร์
คุณสามารถผ่านสวิตช์ทั้งหมดที่คุณสามารถใช้กับคำสั่ง ที่นี่ .
คำสั่งนี้มีประโยชน์ในหลายกรณี โดยเฉพาะอย่างยิ่งเมื่อฉันสร้างบันทึกกิจกรรมเครือข่ายและต้องค้นหาบางสิ่งจากบันทึก คุณทำอะไรกับ findstr คำสั่งตัวกรองนี้?