Почему «менее» намного медленнее, чем «grep»?

12

Иногда мне приходится просматривать файлы, которые представляют собой несколько концертов, и заметил, что поиск того, что я ищу, с помощью grep намного быстрее, чем с меньшим. Почему это может быть? Я говорю о поиске определенного тега / слова, даже не сложного регулярного выражения.

naumcho
источник
Не ответ, но вы рассматривали возможность использования grep, а затем канала для передачи результатов на меньшее?
ридоги
1
Да, я обычно использую grep с -A / B / C, чтобы получить некоторый контекст вокруг того, что я ищу, но иногда мне нужно больше гибкости, когда я просматриваю файлы журнала и мне нужно иметь возможность прокручивать и постепенно выполнять поиск оттуда / до
наумчо

Ответы:

9

По умолчанию «less» рассчитывает номера строк, что может замедлить их. Попробуйте использовать опцию '-n', чтобы подавить вычисления номера строки и посмотреть, ускоряет ли это процесс.

Джон Лассер
источник
2
Я думаю, что подсчет строк происходит после того, как grep нашел ваше соответствие - тогда вы увидите «Расчет номеров строк», и потребуется некоторое время, прежде чем он позволит вам что-либо сделать, но вы можете отменить это с помощью ctrl + c. Не похоже, что -n помогает с реальной скоростью поиска.
Наумчо
Это помогло мне. Заметил огромную разницу (например, в десятках секунд от мгновенного ответа) при открытии файла журнала размером почти 10 ГБ и нажатии Shift G, чтобы добраться до конца файла.
Марчелло Романи
@MarcelloRomani shift-G не имеет ничего общего с поиском
Мартин