Mengapa "kurang" jauh lebih lambat dari "grep"?

12

Saya kadang-kadang harus melihat melalui file yang beberapa pertunjukan dan telah memperhatikan bahwa menemukan apa yang saya cari dengan grep jauh lebih cepat daripada dengan yang lebih sedikit. Kenapa bisa begitu? Saya berbicara tentang mencari tag / kata tertentu, bahkan tidak ada regex yang rumit.

naumcho
sumber
Bukan jawaban, tetapi sudahkah Anda mempertimbangkan untuk menggunakan grep dan kemudian sebuah pipa untuk memberikan hasil yang lebih sedikit?
ridogi
1
Ya, saya biasanya menggunakan grep dengan -A / B / C untuk mendapatkan beberapa konteks di sekitar apa yang saya cari, tetapi kadang-kadang saya membutuhkan lebih banyak fleksibilitas karena saya melihat file log dan perlu untuk dapat melihat-lihat dan secara bertahap mencari dari sana pada / sebelum
naumcho

Jawaban:

9

Secara default, 'kurang' menghitung nomor baris, yang dapat memperlambatnya. Coba gunakan opsi '-n' untuk menekan penghitungan nomor baris dan lihat apakah itu mempercepat.

Jon Lasser
sumber
2
Saya pikir penghitungan baris terjadi setelah grep menemukan kecocokan Anda - lalu Anda melihat "Menghitung nomor baris" dan perlu beberapa saat sebelum memungkinkan Anda melakukan apa pun, tetapi Anda dapat membatalkannya dengan ctrl + c. Itu tidak terlihat seperti -n membantu dengan kecepatan pencarian yang sebenarnya.
naumcho
Itu berhasil bagi saya. Memperhatikan perbedaan besar (seperti dalam puluhan detik vs respons sesaat) ketika membuka file log hampir 10GB dan menekan shift G untuk sampai ke akhir file.
Marcello Romani
@MarcelloRomani shift-G tidak ada hubungannya dengan pencarian
Martin Konecny