Pull to refresh

Comments 31

Вот ag очень нравится
Сразу косячок заметил в таблице. ag поддерживает регулярные выражения. Захотел забагрепортить, а там висит issue уже и давно github.com/beyondgrep/website/issues/117
Увидел, что написан ack на perl и сразу закрыл. Хотя начало было многообещающим.
а что не так с perl? по моему как раз поиск по тексту как раз целевая сфера назначения языка
это все меняет! теперь обязательно надо отметится во всех комментариях статей про перл, чтобы сообщить что они отстой.
Дурость какая-то. Я не собираюсь этим заниматься, просто выразил свое мнение. Что тащить ради одной утилиты перл с какими-то еще небось зависимостями не хочется.
UFO just landed and posted this here
А кто сказал что я именно на перле экономил? я просто сносил все то, что любят использовать для шеллкодов, бекдоров и тп, а также то, чем лично я не пользуюсь. Вы просто пытаетесь развести холивар, что кто-то выступил против perl. А я лишь высказал свою мысль, что в текущих реалиях мне перл не нужен и это не мой вариант.
П.С. Да и в целом я думаю что на rust будет работать быстрее и с меньшим числом ошибок.

Есть другие альтернативы. Попробуйте ripgrep, например.

Кто не хочет тащить perl, есть альтернатива Silver Searcher (ag). Он похож и даже совместим по флагам с ack. Он написан на C и чуточку быстрее ack.
github.com/ggreer/the_silver_searcher
ценная штука, благодарю!
UFO just landed and posted this here
perl регулярки
не поверите, но и grep умеет перловые регулярки (опция -P или --perl-regexp)

P.S. скриншоты ужасны
К сожалению, не везде:
$ man grep | grep -A2 -- -P
       -P, --perl-regexp
              Interpret PATTERN as a Perl regular expression.  This option is
              not supported in FreeBSD.
Во FreeBSD после 4-й версии избавились от perl в базовой системе, отсюда и отсутствие поддержки, однако в портах доступна GNU версия grep, правда, она после установки доступна под именем ggrep, если не ошибаюсь
Когда я попадаю на сервер и мне надо что-то поискать я первым делом проверяю установлен ли ack

И что делаете, если её там нет? А по дефолту её и не будет…

Вот именно. И зачем плодить сущности, когда find + grep, установленные по умолчанию, решают практически любые задачи поиска?

Я бы Ваш список дополнил еще awk и вообще становимся непобедимыми =)
UFO just landed and posted this here
А в каких случаях не хватает производительности grep?

Я например начал юзать рипгреп когда мне пришлось анализировать гигабайтные логи с тестового стенда после нагрузочных тестов.

UFO just landed and posted this here

Вроде бы колбаса не нужна, всегда искал так:
grep -R __bool__ --include '*.py'

UFO just landed and posted this here
grep по программному коду так себе квест. Попробуйте поискать переменную i (классика, 50 лет на рынке итераторов) ;)
Надежнее использовать инструмент, который умеет понимать синтаксиc языка, область видимости… (IDE)
Может даже дать фору find, опция --include в grep отлично «понимает» «Brace Expansion»
--include=\*.{doc,DOC,txt,TXT}

То есть по факту множество опций после раскрытия оболочкой

Там и производительность тоже заметно выше. Магия конечных автоматов сделала свое дело.

О, как вовремя статейка появилась. Ребят, а никто случайно не знает есть ли какое-нибудь удобное интерактивное шелл приложение (с исп. ncueses или типа того) чтобы осуществлять навигацию по результатам поиска?

Я уже настолько изголодался, что начал уже писать своё. Но что-то пока что с трудом выходит каменный цветок. Вот приблизительно то, чего я ожидаю: asciinema.org/a/effPIGl2SwQyYINYT2ebsSiPV
UFO just landed and posted this here
Sign up to leave a comment.

Articles