Findstr: ตัวอย่างและเคล็ดลับการใช้เครื่องมือ CMD Windows ที่มีประโยชน์นี้


สำหรับผู้ที่ไม่ได้ฝึกหัด เครื่องมือค้นหารูปแบบอย่าง findstr อาจดูไร้ประโยชน์ แต่เมื่อต้องจัดการกับไฟล์บันทึกที่ระบบสร้างขึ้นหรือเอาต์พุตบรรทัดคำสั่งที่มีข้อความหลายร้อยบรรทัด findstr เป็นเพียงเครื่องมือที่คุณต้องการ

ผู้ใช้ระบบปฏิบัติการ Linux น่าจะคุ้นเคยกับยูทิลิตี้อันน่าทึ่งของคำสั่ง Grep แล้ว และ findstr ก็มีบทบาทที่คล้ายกันใน Microsoft Windows คุณสามารถรวมมันเข้ากับ คำสั่งอื่นๆ โดยใช้ไพพ์ หรือเรียกใช้โดยตรงเพื่อแยกวิเคราะห์ไฟล์ข้อความหลายไฟล์ มาดูกันว่า findstr ทำงานอย่างไรด้วยตัวอย่างบางส่วน

การใช้คำสั่ง Findstr

ไวยากรณ์พื้นฐานนั้นเรียบง่าย – findstr โดยที่ คือรูปแบบในการค้นหา และ คือที่อยู่ของไฟล์ที่จะค้นหา เปิด Command Prompt แล้วลองดู .

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 ขั้นสูง โดยเฉพาะอย่างยิ่งผู้ใช้ที่ต้องการทำความคุ้นเคยกับอินเทอร์เฟซบรรทัดคำสั่ง

.

กระทู้ที่เกี่ยวข้อง:


27.09.2022