1.1, рш (?), 13:40, 10/08/2011 [ответить] [﹢﹢﹢] [ · · · ]
| +6 +/– |
+6 к фичам, -10 к скорости, -100 к размеру (руби же в зависимостях)
| |
|
2.30, Аноним (-), 15:58, 10/08/2011 [^] [^^] [^^^] [ответить]
| +5 +/– |
Алсо:
+1 к скиллу кодинга в руби
-10 к скиллу разумного решения инжеерных задач.
| |
|
|
2.7, Аноним (-), 13:58, 10/08/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
> а я почему-то думал, что главное в этой утилите - скорость...
поддерживаю
| |
2.33, Аноним (-), 16:04, 10/08/2011 [^] [^^] [^^^] [ответить]
| +4 +/– |
> а я почему-то думал, что главное в этой утилите - скорость...
Мне почему-то фич оригинального грепа хватает выще крыши, а вот идея еще и руби качать для работы с оным да потом еще за версией оного следить меня что-то совсем не прельщает.
| |
|
3.53, Аноним (-), 20:36, 10/08/2011 [^] [^^] [^^^] [ответить]
| +/– |
> руби качать для работы с оным
Ruby — зависимость texlive, его не надо качать.
| |
|
4.54, Аноним (-), 21:04, 10/08/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Ruby — зависимость texlive, его не надо качать.
У меня почему-то нет никакого texlive и руби, но греп есть.
| |
|
|
2.41, Andrew Kolchoogin (?), 16:30, 10/08/2011 [^] [^^] [^^^] [ответить]
| +/– |
Нет. (C)
grep(1) никогда за скорость не боролась. Хотите быстро искать подстроку -- используйте fgrep(1).
+скорость
-regexp
Быстро, дёшево, качественно -- любые два на выбор.
| |
|
3.44, Anonymouse (?), 17:43, 10/08/2011 [^] [^^] [^^^] [ответить]
| +/– |
Так то оно так ... Но вот даже не запуская этот тулз готов на деньги поспорить что "медленному" grep'у он сольёт :) Напрочь!(С)Анек
| |
|
|
1.4, Аноним (-), 13:53, 10/08/2011 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Уберите из особенностей то, что есть в GNU grep или отделите их как-то
| |
|
2.6, Аноним (-), 13:58, 10/08/2011 [^] [^^] [^^^] [ответить]
| +4 +/– |
Подсветка есть (--color для цвета, -H для отоборажения имени файла, -n номера строк)
Диапозоны есть (-A -B -C)
и вообще man grep сначала
| |
|
1.9, oops (ok), 14:00, 10/08/2011 [ответить] [﹢﹢﹢] [ · · · ]
| +7 +/– |
> улучшенной альтернативы grep.
> Код Glark написан на языке Ruby.
не клеится как-то
| |
|
2.69, Одмин (?), 18:04, 11/08/2011 [^] [^^] [^^^] [ответить]
| +/– |
Не знаю как щас а ack пару лет назад был глюкодромом: он выводил не всё. Не знаю как авторы добились. Плюс утилита стрёмная - её код автосгенерирован.
| |
|
1.16, inv (ok), 14:32, 10/08/2011 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
Кому это надо? Мало того что PRCE сами по себе медленные из-за того что разработчики разменяли фичи на скорость. (Самая быстрая реализация регэкспов основана на теории конечных автоматов и конструкции Томсона.)
Так эти велосипедисты решили ещё замедлить всё это дело, переписав греп на руби... сразу закопать!
ps
http://swtch.com/~rsc/regexp/regexp1.html
| |
|
2.58, Аноним (-), 02:24, 11/08/2011 [^] [^^] [^^^] [ответить]
| +/– |
> Так эти велосипедисты решили ещё замедлить всё это дело, переписав греп на
> руби... сразу закoпать!
Ну это вы понимаете, а рубисты понимают что "если на руби - значит улучшенная альтернатива". Логика забавная, но почему-то у питонистов, рубистов и жабистов это такой вот синдром.
| |
|
1.20, Аноним (-), 14:48, 10/08/2011 [ответить] [﹢﹢﹢] [ · · · ]
| –5 +/– |
Ребята, куда вам эта скорость? Да, иногда она необходима. Терабайты логов, бла-бла-бла. Да и то, узкое место в этом случае - ввод/вывод, на чем написана утилита - какбы не самое важное.
В большинстве же случаев удобство пользования куда приятнее. И тут свистелки вроде раскраски и PCRE как раз кстати.
Хотя, по-моему тоже неочень получилось. Диапазоны бесполезны из-за head/tail, фич маловато, да и grep сам по себе неплох. Лучше бы find с человеческим лицом сделали.
| |
|
2.25, inv (ok), 15:17, 10/08/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
grep быстр. Реализации регэкспов основанные на backtracking'е дохнут далеко не от гигабайтов логов, а от некоторых вариватов выражений, при том не очень длинных. (в статейке, что я привёл пример)
Если нужны фичи, то опять таки, всё за исключением 'backreferences' есть к примеру тут:
http://code.google.com/p/re2/
"Unlike most automata-based engines, RE2 implements almost all the common Perl and PCRE features and syntactic sugars. It also finds the leftmost-first match, the same match that Perl would, and can return submatch information. The one significant exception is that RE2 drops support for backreferences¹ and generalized zero-width assertions, because they cannot be implemented efficiently. The syntax page gives full details."
| |
2.38, Аноним (-), 16:13, 10/08/2011 [^] [^^] [^^^] [ответить] | +2 +/– | Ржевский, молчать Вот когда сам грепнешь пару гигов логов сервака - тогда и пой... большой текст свёрнут, показать | |
2.49, Аноним (-), 18:52, 10/08/2011 [^] [^^] [^^^] [ответить]
| +/– |
> Ребята, куда вам эта скорость? Да, иногда она необходима. Терабайты логов, бла-бла-бла. Да и то, узкое место в этом случае - ввод/вывод, на чем написана утилита - какбы не самое важное.
Наглая, тупая ложь. Скорость необходима всегда, а это угрёбище на ruby неспособно обрабатывать поток со скоростью диска, не говоря уже о ssd, рейдах, потоке из 10Gb сети, огромном выводе программы или банальном gunzip < log.gz | grep
Кроме того, иногда необходимо запустить grep много раз, а тут важна скорость запуска, которая у этого угрёбища тоже кошмарная.
| |
|
1.23, segoon (ok), 14:58, 10/08/2011 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Как-то не впечатляет :(
> Подсветка масок и имен файлов в выводе;
grep --color
> Использование perl-совместимых регулярных выражений (PCRE), привычных для разработчиков на языках Perl, PHP, Python и Ruby;
grep -P ? Хотя experimental.
> Возможность использования составных выражений, работающих с учетом содержимого нескольких строк. Например: "glark --and=5 --or cout print --or double float *.c" выполнит поиск ключей "cout" или "printf" в ближайших 5 строках от строк с ключами "double" или "float";
Вот тут наверное всё же лучше юзать awk - язык по-богаче будет для подобных выкрутасов.
> Автоматическое определение тестовых файлов (поиск в бинарных файлах не производится;
Софт не должен об этом думать. Если не нужны бинарные файлы - не грепайте. Если не хочется долго ждать завершения поиска в длинных строках по хитрым регекспам - юзать rlimit.
> Поддержка указания диапазонов. Указание опций "--before" и "--after" позволяет ограничить область поиска, отсеяв определенную часть файла (например, для игнорирования первых 20 строк с заголовком "glark --after 20 маска файл").
Чем head/tail не угодил?
ИМХО конечно, но утилиты уровня grep должны быть быстрые и максимально простые. Руби существует не для таких вещей.
| |
|
2.42, Аноним (-), 16:44, 10/08/2011 [^] [^^] [^^^] [ответить]
| +/– |
> Вот тут наверное всё же лучше юзать awk - язык по-богаче будет для подобных выкрутасов.
Самое интересное, что это и побыстрее будет, а не только побогаче =)
| |
|
|
2.39, Аноним (-), 16:17, 10/08/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
> А в чем, собственно, проблем с грепом?
Он написан не на руби. Поэтому у некоторых на заднице вылез красный прыщ - у них зуд, заставляющий заниматься велосипедостроением. Вообще, не жирно ли о каждом скриптике по новости зафигачивать? А если я шелскрипт на 5 строк рожу - это будет темой для новости? Может я даже какую системную утиль заменю. Ну вот например я могу на раз заменить /bin/false на версию написанную на баш (питоне, руби, перле, похапэ, яваскрипте или чем там еще). Давайте по этому поводу новость напишем? А лучше по новости на каждый язык, чтобы уж совсем хорошо :)
| |
|
3.43, Аноним (-), 16:46, 10/08/2011 [^] [^^] [^^^] [ответить]
| +/– |
Подозреваю, что парни кодили исключительно ради удовольствия (как и многие другие), и от них глупо ждать чего-то полезного, они не ради этого стараются. А вот насчет того, зачем такие новости постить - тут я согласен
| |
|
|
1.40, Аноним (-), 16:23, 10/08/2011 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Ужасно. Если тут и есть здравые идеи, то это только использование pcre вместо убогих posix'овых регулярок, хотя ещё лучше было бы заюзать Яндексовские pire, бо они в разы быстрее, а все фичи pcre почти никогда не нужны.
| |
1.45, iCat (ok), 17:54, 10/08/2011 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Ух, ты!!! Теперь ждём альтернативу ed на QT?
Что ж, JustForFun...
Кстати, а почему бы не сделать 3-х мерное выделение найденных слов? С музыкальным сопровождением?
| |
|
|
3.67, redwolf (ok), 15:59, 11/08/2011 [^] [^^] [^^^] [ответить]
| +/– |
Это можно было бы хотя бы поставить поиграться и поржать. Такие бредовые проэкты периодически возникают. Вроде quake в псевдографике ) В чём fun тут непонятно. Недостатка юзабельности grep за мой стаж общения с linux не замечено.
| |
|
|
|
2.48, Аноним (-), 18:49, 10/08/2011 [^] [^^] [^^^] [ответить]
| +/– |
Альтернатива - это нечто, сравнимое по функциональности, чего про мсовский файнд не скажешь
| |
|
3.50, gegMOPO4 (ok), 18:57, 10/08/2011 [^] [^^] [^^^] [ответить]
| +/– |
Какая ОС — такая и альтернатива. Потоковые утилиты в однозадачной системе — то ещё издевательство.
| |
|
2.56, Аноним (-), 21:22, 10/08/2011 [^] [^^] [^^^] [ответить]
| +/– |
> У Microsoft есть альтернатива grep-у ещё с 3-й версии DOS. Называется find.
Уточним, это не альтернатива а жалкая пародия.
| |
|
1.52, AHAHAC (ok), 20:32, 10/08/2011 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Цвет - alias grep='grep --color=yes'
Возможность использования составных выражений -egrep
| |
1.55, maxkit (ok), 21:08, 10/08/2011 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Предлагаю написать новый grep на mono, чтобы работал только через браузер, а потом всего лишь парсить результат по скриншоту в браузере, и вставлять этот grep в обязательном порядке во все дистрибутивы.
| |
|
|
3.59, Аноним (-), 02:27, 11/08/2011 [^] [^^] [^^^] [ответить]
| +/– |
> В ChromeOS так и есть я полагаю. :)
Там на яве мыслить полагается наверное. Ну или хотя-бы на яваскрипте.
| |
|
|
1.60, anonymous (??), 03:17, 11/08/2011 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
(задумчиво) а вот у офигенной библиотеки tre в составе идёт agrep. мало того, что сама tre очень шустра (да-да, то самое, что выше в ссылках — fallback только для бэктрэкинга), так оно ещё умеет «приблизительные регэкспы» (то бишь, регэкспы с указаным диапазоном несовпадения). и написано на сях, потому маленькое и шустрое.
вопрос: этот рубикомбайн (который руби за сабой тянет) — умеет «приблизительные регэкспы» хотя бы? или скорость, как у agrep?
вопрос риторический, если что.
| |
|
2.62, inv (ok), 08:58, 11/08/2011 [^] [^^] [^^^] [ответить]
| +/– |
Спасибо, интересная библиотека, приму на заметку :)
| |
|
3.63, anonymous (??), 09:03, 11/08/2011 [^] [^^] [^^^] [ответить]
| +/– |
> Спасибо, интересная библиотека, приму на заметку :)
на здоровье. использую много лет, очень доволен, стррррашных багов не видел. жаль, что все знают про pcre, и почти никто — про tre. по мере сил способствую, так сказать.
| |
|
|
1.64, kgx (?), 09:36, 11/08/2011 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
для того, чтобы скипать часть файла есть tail и head, накойхрен это в утилиту поиска вструмлять? каждая программа должна заниматься своим делом, но хорошо. а для чуть более сложных - можно уже и awk с perl использовать.
| |
|
2.68, redwolf (ok), 16:04, 11/08/2011 [^] [^^] [^^^] [ответить]
| +/– |
"каждая программа должна заниматься своим делом"
Это unix-way. Не все его понимают. Смиритесь )
| |
|
|