Как стать автором
Обновить

Комментарии 31

Автор Ack сделал табличку сравнения подобных утилит:
https://beyondgrep.com/feature-comparison/
Помимо GNU grep и Ack там присутствуют ещё ag (The Silver Searcher), git-grep, rg (ripgrep)

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

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

Кто не хочет тащить perl, есть альтернатива Silver Searcher (ag). Он похож и даже совместим по флагам с ack. Он написан на C и чуточку быстрее ack.
github.com/ggreer/the_silver_searcher
ценная штука, благодарю!
НЛО прилетело и опубликовало эту надпись здесь
К сожалению, не везде:
$ 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 и вообще становимся непобедимыми =)
НЛО прилетело и опубликовало эту надпись здесь
А в каких случаях не хватает производительности grep?

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

НЛО прилетело и опубликовало эту надпись здесь

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

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

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

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

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

Я уже настолько изголодался, что начал уже писать своё. Но что-то пока что с трудом выходит каменный цветок. Вот приблизительно то, чего я ожидаю: asciinema.org/a/effPIGl2SwQyYINYT2ebsSiPV
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации