สำหรับผู้ที่ไม่ได้ฝึกหัด เครื่องมือค้นหารูปแบบอย่าง findstr อาจดูไร้ประโยชน์ แต่เมื่อต้องจัดการกับไฟล์บันทึกที่ระบบสร้างขึ้นหรือเอาต์พุตบรรทัดคำสั่งที่มีข้อความหลายร้อยบรรทัด findstr เป็นเพียงเครื่องมือที่คุณต้องการ
ผู้ใช้ระบบปฏิบัติการ Linux น่าจะคุ้นเคยกับยูทิลิตี้อันน่าทึ่งของคำสั่ง Grep แล้ว และ findstr ก็มีบทบาทที่คล้ายกันใน Microsoft Windows คุณสามารถรวมมันเข้ากับ คำสั่งอื่นๆ โดยใช้ไพพ์ หรือเรียกใช้โดยตรงเพื่อแยกวิเคราะห์ไฟล์ข้อความหลายไฟล์ มาดูกันว่า findstr ทำงานอย่างไรด้วยตัวอย่างบางส่วน
การใช้คำสั่ง Findstr
ไวยากรณ์พื้นฐานนั้นเรียบง่าย – findstr
findstr SFC example1.txt
คำสั่งนี้จะค้นหาและส่งออกบรรทัดทั้งหมดที่มีสตริงการค้นหา SFC โปรดทราบว่าตามค่าเริ่มต้น findstr จะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ดังนั้นการกล่าวถึง SFC ใดๆ จะไม่ตรงกัน
พารามิเตอร์
คุณสามารถปรับแต่งวิธีการทำงานของ findstr เพิ่มเติมได้โดยรวมพารามิเตอร์เผื่อเลือก สวิตช์เช่น /B หรือ /I แก้ไขพฤติกรรมของ findstr โดยกำหนดเงื่อนไขเพิ่มเติมในการค้นหา ตัวอย่างเช่น:
findstr /I SFC example1.txt
การรวม /I เป็นพารามิเตอร์ทำให้การค้นหาไม่คำนึงถึงตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่ ช่วยให้การกล่าวถึงคำศัพท์ทั้งหมดตรงกัน โดยไม่คำนึงถึงอักษรตัวพิมพ์ใหญ่หรือเล็ก คุณสามารถดูรายการพารามิเตอร์ทั้งหมดของ findstr ได้ใน เอกสาร Microsoft อย่างเป็นทางการ.
รูปแบบเพิ่มเติม
พารามิเตอร์ไม่ใช่วิธีเดียวที่คุณสามารถปรับแต่ง findstr ได้ ตัวอย่างเช่น การใส่
ค้นหา "SFC DISM" example1.txt
ข้อความด้านบนจะส่งคืนบรรทัดที่ตรงกันซึ่งมีเงื่อนไขอย่างใดอย่างหนึ่ง สิ่งนี้ทำให้มีประโยชน์เมื่อค้นหาการกล่าวถึงรายการที่มีชื่อต่างกัน
นิพจน์ทั่วไป
Findstr สามารถค้นหาผ่านหลายไฟล์ได้ การเปลี่ยน
ค้นหา SFC *.txt
การใช้อักขระตัวแทนจะจับคู่ regex กับไฟล์ข้อความทั้งหมดในไดเรกทอรีปัจจุบันและไดเรกทอรีย่อย ผลลัพธ์จะถูกแยกตามชื่อไฟล์เช่นเดียวกัน เพื่อให้คุณเห็นว่าบรรทัดใดมาจากไฟล์ใด
ท่อ
เช่นเดียวกับคำสั่ง cmd ส่วนใหญ่ findstr สามารถใช้กับเอาต์พุตของคำสั่งอื่นได้เช่นกัน เพียงเพิ่มไปป์หลังสิ้นสุดคำสั่งเป้าหมายแล้วเรียกใช้ findstr โดยไม่มี
ผบ. | findstr .txt
การดำเนินการนี้จะรันการค้นหา findstr บนเอาต์พุตของคำสั่ง dir โดยส่งคืนรายการไฟล์ที่ลงท้ายด้วย .txt แน่นอนว่าตัวอย่างนี้ไม่มีประโยชน์ในทางปฏิบัติ เนื่องจาก dir สามารถค้นหาไฟล์ประเภทเดียวกันด้วยนิพจน์ทั่วไปได้แล้ว
เราสามารถใช้เส้นทางที่ยาวกว่าของ เปลี่ยนเส้นทางเอาต์พุตไปยังไฟล์ข้อความ แล้วใช้ findstr ในไฟล์ข้อความ แต่จะตัดคนกลางได้ง่ายกว่า
แอปพลิเคชันของ Findstr ใน Windows
การใช้ findstr ที่ชัดเจนนั้นเห็นได้ชัดเจนจากไวยากรณ์เพียงอย่างเดียว คุณสามารถค้นหาไฟล์ข้อความที่มีสตริงข้อความเฉพาะหรือดูว่ามีสตริงใดอยู่ในไฟล์หรือไม่
สิ่งนี้แม้จะมีประโยชน์ในทางทฤษฎี แต่ก็ไม่ค่อยเห็นการใช้งานนอกกรณีที่พบไม่บ่อยนัก ในยุคของบริการคลาวด์ เช่น Google เอกสาร คนส่วนใหญ่ไม่มีไฟล์ข้อความมากมายอีกต่อไป
การใช้งานจริงของ findstr นั้นละเอียดกว่าเล็กน้อยและเกี่ยวข้องกับผลลัพธ์ที่ทรงพลังกว่า นี่คือตัวอย่างที่น่าสนใจบางส่วน
การค้นหาไฟล์ประเภทเฉพาะ
คำสั่ง dir มีตัวเลือกในการค้นหาชื่อไฟล์โดยใช้นิพจน์ทั่วไปอยู่แล้ว แต่ด้วย findstr คุณสามารถค้นหาไฟล์ที่แชร์คุณลักษณะอื่นๆ ได้ เช่น เวลาหรือวันที่สร้าง
สมมติว่าเกิดข้อผิดพลาดเมื่อเวลา 18:43 น. และคุณต้องการค้นหาไฟล์บันทึกทั้งหมดที่สร้างขึ้นในขณะนั้น ด้วยคำสั่ง dir เพียงอย่างเดียว คุณจะต้องกรองผลลัพธ์ด้วยตนเองหรือรับไฟล์บันทึกทั้งหมดแล้วเปรียบเทียบ การใช้ findstr นี่จะกลายเป็นคำสั่งง่ายๆ
ผบ. | findstr 06:43
คุณสามารถลองใช้เคล็ดลับเดียวกันนี้เพื่อค้นหาไฟล์ที่สร้างขึ้นในวันที่ระบุหรือรับรายการไดเรกทอรี
ผบ. | findstr DIR
การกรองข้อมูลเครือข่ายด้วย Netstat.
เน็ตสแตท เป็นคำสั่ง Windows ที่มีประโยชน์ซึ่งให้ข้อมูลทั้งหมดเกี่ยวกับการเชื่อมต่อเครือข่ายของคอมพิวเตอร์ของคุณ ซึ่งเป็นข้อมูลที่มากเกินไปซึ่งเป็นที่มาของ findstr
การไพพ์เอาต์พุตของ netstat ไปที่ findstr ช่วยให้คุณสามารถค้นหาการเชื่อมต่อที่มีคุณสมบัติเฉพาะได้ ตัวอย่างเช่น นี่คือวิธีที่คุณจะได้รับรายการการเชื่อมต่อที่สร้างไว้ทั้งหมด
เน็ตสแตท | findstr ก่อตั้งขึ้นแล้ว
เคล็ดลับนี้มีประโยชน์เมื่อวินิจฉัยปัญหาเครือข่าย คุณยังสามารถใช้ findstr กับ PID ของแอปพลิเคชันเพื่อค้นหาการเชื่อมต่อทั้งหมดที่เปิดโดยกระบวนการเฉพาะ
netstat -o | findstr 13120
การรับที่อยู่ IP เฉพาะ
คำสั่ง ipconfig ช่วยให้คุณดูรายละเอียดอินเทอร์เฟซเครือข่ายทั้งหมดของระบบ รวมถึงที่อยู่ IP คุณสามารถใช้ findstr เพื่อดึงที่อยู่ IP ประเภทใดประเภทหนึ่งโดยไม่ต้องเลื่อนดูทั้งหมด
ipconfig | findstr ชั่วคราว
คุณสามารถขยายวิธีการนี้เพื่อรับข้อมูลใดๆ จาก ipconfig ตั้งแต่ซับเน็ตมาสก์ไปจนถึงที่อยู่เกตเวย์
การวิเคราะห์ไฟล์สคริปต์
ไม่ว่าคุณจะเขียนโค้ดในภาษาโปรแกรมใดก็ตาม ไฟล์สคริปต์ก็จะเป็นเพียงข้อความเท่านั้น ซึ่งหมายความว่าคุณสามารถใช้ findstr เพื่อวิเคราะห์สคริปต์และดึงข้อมูลส่วนที่ต้องการโดยไม่ต้องค้นหาโค้ดทั้งหมด
สมมติว่าเราต้องการดูว่าคำสั่ง if ถูกนำมาใช้ในสคริปต์ใดสคริปต์หนึ่งอย่างไร เราสามารถใช้คำสั่งต่อไปนี้:
findstr ถ้า script.ahk
สิ่งนี้ไม่เพียงแต่จะแสดงบรรทัดโดยใช้คำสั่ง if เท่านั้น แต่ยังแสดงให้เราทราบถึงสำนวนที่ใช้อีกด้วย คุณยังสามารถรวมพารามิเตอร์ /N เพื่อแสดงหมายเลขบรรทัดได้ ซึ่งมีประโยชน์มากสำหรับไฟล์สคริปต์
findstr /N ถ้า script.ahk
Findstr คุ้มค่าที่จะใช้หรือไม่
ปัญหาหลักในการนำทางอินเทอร์เฟซบรรทัดคำสั่งคือจำนวนข้อความที่ต้องกรอง Findstr เป็นเครื่องมือสำคัญในการดึงข้อมูลที่เป็นประโยชน์และกรองขยะออก
เนื่องจากคำสั่งเทอร์มินัลทั้งหมดให้เอาต์พุตแบบข้อความ findstr จึงสามารถใช้เพื่อระบุตำแหน่งข้อมูลที่เกี่ยวข้องได้เสมอ ตั้งแต่ การแก้ไขปัญหาเครือข่าย ไปจนถึงการค้นหาไฟล์ที่ถูกต้อง ทุกการกระทำจะมีประสิทธิภาพมากขึ้นด้วย findstr.
แม้จะอยู่นอกการทำงานร่วมกันกับคำสั่งอื่นๆ findstr ยังมีประโยชน์สำหรับความสามารถในการสำรวจเนื้อหาของไฟล์ข้อความ คุณสามารถค้นหาข้อผิดพลาดเฉพาะในไฟล์บันทึกที่สร้างโดยเครื่องหรือดึงข้อมูลส่วนของโค้ดด้วยสคริปต์ที่ซับซ้อน
โดยสรุป findstr เป็นเครื่องมือที่ขาดไม่ได้ในคลังแสงของผู้ใช้ Windows ขั้นสูง โดยเฉพาะอย่างยิ่งผู้ใช้ที่ต้องการทำความคุ้นเคยกับอินเทอร์เฟซบรรทัดคำสั่ง
.