ฉันมีไฟล์ข้อความขนาดใหญ่มาก (หลายกิกะไบต์) ซึ่งฉันต้องการค้นหาสตริงบางอย่าง เมื่อใช้grep
ฉันได้รับมากกว่า 11,000 แมตช์ของสตริง แต่มีag
1,500 ประมาณ เอาต์พุตของทั้งสองคำสั่งนั้นเหมือนกันจนถึงจุดที่ag
หยุด
ฉันตระหนักถึง-m
ตัวเลือกในag
การกำหนดจำนวนการจับคู่สูงสุด แต่ค่าเริ่มต้นคือ 10,000 และดังนั้นจึงไม่ใช่ปัญหา
เพื่อแสดงสิ่งนี้นี่คือตัวอย่างของสิ่งที่เกิดขึ้น:
$ grep -i 'string' hugefile.txt | wc -l
11000
$ ag -i 'string' hugefile.txt | wc -l
1500
เอาต์พุตของทั้งสองคำสั่งนั้นเหมือนกับจำนวนที่ตรงกันเท่ากัน:
$ grep -m 1500 -i 'string' hugefile.txt > grep_output.txt
$ ag --no-numbers -i 'string' hugefile.txt > ag_output.txt
$ diff grep_output.txt ag_output.txt
(files identical)
ไม่ag
ได้มีการป้อนข้อมูลขนาดสูงสุดโดยปริยายและถ้าเป็นเช่นนั้นก็เป็นไปได้ที่จะปรับเปลี่ยนนี้หรือไม่?