Size: a a a

2020 November 07

NG

Nicholas Guriev in pro.vim
Sfy
Я ловил себя на мысли, что часто делаю нечто вроде:

tail -f /var/log/%someservice%.log | grep -E '%someregex%'


Во время обновлений или отладки каких-то новых фич.
тут проще использовать less
источник

VG

Vadim Goncharov in pro.vim
Sfy
Я ловил себя на мысли, что часто делаю нечто вроде:

tail -f /var/log/%someservice%.log | grep -E '%someregex%'


Во время обновлений или отладки каких-то новых фич.
более того, я предпочитаю именно такие формы записи команд еще и потому, что в zsh могу набрать префикс команды и будет в истории искаться только по нему
источник

VG

Vadim Goncharov in pro.vim
что будет гораздо быстрее, чем заново набирать grep -... имяфайла
источник

SS

Sergey Skvortsov in pro.vim
Yaroslav Schekin
А proof link есть (только benchmark-а на существенном кол-ве разных RE и объёмах текстов, а не benchmarketing)?
При должном желании все, что угодно можно назвать benchmarketing:)
Вон от автора бенчмарки четырёхлетней давности (с тех пор в ripgrep все стало сильно лучше, но не суть), они все воспроизводимы
https://blog.burntsushi.net/ripgrep/
Можно сравнить его на своих юзкейсах, там зачастую ускорение в несколько раз
источник

VG

Vadim Goncharov in pro.vim
так что я и cat file | grep не брезгую поэтому =)
источник

S

Sfy in pro.vim
Vadim Goncharov
как пользователю linux тебе должен быть естественен unix way, а не комбайны
В моём понимании, добавление follow в grep не противоречит принципу атомизации софта по назначению.

Опять же, follow лишний скорее в tail будет.
источник

YS

Yaroslav Schekin in pro.vim
Sfy
Спасибо. Попробую.
Да и вообще, прочитайте / перечитайте соотв. главу user manual.
:help usr_41.txt
источник

V

Vim Help in pro.vim
Found help for usr_41.txt in Vim docs:
https://vimhelp.org/usr_41.txt.html#usr%5F41%2Etxt
источник

SS

Sergey Skvortsov in pro.vim
Sergey Skvortsov
При должном желании все, что угодно можно назвать benchmarketing:)
Вон от автора бенчмарки четырёхлетней давности (с тех пор в ripgrep все стало сильно лучше, но не суть), они все воспроизводимы
https://blog.burntsushi.net/ripgrep/
Можно сравнить его на своих юзкейсах, там зачастую ускорение в несколько раз
Собственно, я серьезно изучал вопрос текстового поиска по регуляркам, и по качеству реализации и подходам сейчас ripgrep субъективно не написано альтернатив
Там в качестве побочного эффекта получился один из самых эффективных (на уровне hyperscan) движков для регулярок, кстати
источник

VG

Vadim Goncharov in pro.vim
Sfy
В моём понимании, добавление follow в grep не противоречит принципу атомизации софта по назначению.

Опять же, follow лишний скорее в tail будет.
противоречит - оно будет делать то, что уже умеет другая утилита
источник

S

Sfy in pro.vim
Vadim Goncharov
так что я и cat file | grep не брезгую поэтому =)
А я брезгую, я стремлюсь всегда сократить длину команды.
источник

VG

Vadim Goncharov in pro.vim
Sfy
А я брезгую, я стремлюсь всегда сократить длину команды.
это вредная привычка
источник

SS

Sergey Skvortsov in pro.vim
А с точными бенчмарками все очень туго, в мире нет открытых больших корпусов реальных запросов
источник

VG

Vadim Goncharov in pro.vim
Sergey Skvortsov
Собственно, я серьезно изучал вопрос текстового поиска по регуляркам, и по качеству реализации и подходам сейчас ripgrep субъективно не написано альтернатив
Там в качестве побочного эффекта получился один из самых эффективных (на уровне hyperscan) движков для регулярок, кстати
эти "современные движки" типа hyperscan опять же берут за счет выкидывания фич
источник

SS

Sergey Skvortsov in pro.vim
Vadim Goncharov
эти "современные движки" типа hyperscan опять же берут за счет выкидывания фич
Да, безусловно, это написано везде первой строкой жирным шрифтом
источник

S

Sfy in pro.vim
Vadim Goncharov
противоречит - оно будет делать то, что уже умеет другая утилита
tail не умеет искать построчно в файлах.
Если уж так придираться, то опять-таки, follow уже умеют делать и tail, и less.

А ещё sed может в большинстве случаев замещать функцилнал tr.
источник

VG

Vadim Goncharov in pro.vim
когда запрос сводится к fgrep, оно конечно быстрее будет, но это частный случай
источник

S

Sfy in pro.vim
Куча таких моментов.
источник

SS

Sergey Skvortsov in pro.vim
Зачастую эти фичи не нужны, когда нужны - есть подходы типа Chimera (hyperscan с фоллбеком на pcre для ущербных экспоненциально сложных регулярок) от интела. Но на таких регулярках по определению про быстрый поиск говорить бесполезно
источник

VG

Vadim Goncharov in pro.vim
Sfy
tail не умеет искать построчно в файлах.
Если уж так придираться, то опять-таки, follow уже умеют делать и tail, и less.

А ещё sed может в большинстве случаев замещать функцилнал tr.
а еще всё это можно сделать на perl! и чего?
источник