ค้นหา vs Findstr ผลลัพธ์


1

ต่อ คำตอบนี้ ฉันพยายามใช้ findstr เพื่อค้นหาสตริง (ชื่อ) ภายในไฟล์บันทึก HL7 บางไฟล์ในไดเรกทอรี Findstr ได้รับ 0 ผลลัพธ์ แต่ค้นหาคืนมากมาย ฉันเล่นไปกับไวยากรณ์ของคำสั่ง findstr ของฉัน แต่ไม่สามารถเอาคืนมาได้ หมายเหตุเนื่องจากไฟล์เหล่านี้เป็นไฟล์ HL7 ชื่อจะถูกล้อมรอบด้วยสัญลักษณ์ (|, ^, ฯลฯ ):

D:\logs>findstr /l /m /c:"Test" *.*

D:\logs>

ฉันถือว่าการขาดผลลัพธ์หมายถึงผลลัพธ์ 0 รายการ ในขณะเดียวกัน:

D:\logs>find /c "Test" *.*

---------- LOG1.LOG: 0

---------- LOG2.LOG: 4

---------- LOG3.LOG: 0

---------- LOG4.LOG: 0

---------- LOG5.LOG: 8

---------- LOG6.LOG: 0

---------- LOG7.LOG: 18

ดังนั้นจึงมีผลลัพธ์มากมาย เหตุใด Findstr จึงไม่พบไฟล์ใด ๆ


คุณสามารถโพสต์ตัวอย่างของไฟล์บันทึกเพื่อให้ฉันสามารถทำซ้ำได้หรือไม่
djangofan

@dangangan ฉันมีปัญหาในการหาไฟล์ปลอมด้วยเหตุผลบางอย่าง การสร้างไฟล์ข้อความขนาดเล็กโดยใช้ค่าต่ำสุดที่เปลือยเปล่าของสิ่งที่ฉันคิดว่าเป็นการจำลองที่เพียงพอ (เช่น "| Test ^ Foo") สิ้นสุดการทำงานกับ findstr
Keen

ฉันคิดว่าด้วยอักขระพิเศษเหล่านั้นเช่น '^' คุณต้องเปิดใช้งานการขยายตัวที่ล่าช้าในสคริปต์ของคุณ สคริปต์นี้เป็นตัวอย่างที่ฉันทำซึ่งใช้ทั้ง FIND และ FINDSTR.exe: thegreenoak.blogspot.com/2012/01/... .
djangofan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.