The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"В рамках проекта Glark развивается альтернатива Grep"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"В рамках проекта Glark развивается альтернатива Grep"  +/
Сообщение от opennews on 10-Авг-11, 13:40 
Представлен (http://www.linux.com/learn/tutorials/480530:is-glark-a-bette...) проект Glark (http://www.incava.org/projects/glark), в рамках которого создана утилита, претендующая на роль улучшенной альтернативы grep. Код Glark написан на языке Ruby.


Отличительные черты Glark:

-  Подсветка масок и имен файлов в выводе;
-  Использование perl-совместимых регулярных выражений (PCRE (http://www.pcre.org)), привычных для разработчиков на языках Perl, PHP, Python и Ruby;
-  Возможность использования составных выражений, работающих с учетом содержимого нескольких строк. Например: "glark --and=5 --or cout print --or double float *.c" выполнит поиск ключей "cout" или "printf" в ближайших 5 строках от строк с ключами "double" или "float";
-  Автоматическое определение тестовых файлов (поиск в бинарных файлах не производится;
-  Режим совместимости с GNU grep;
-  Поддержка указания диапазонов. Указание опций "--before" и "--after" позволяет ограничить область поиска, отсеяв опред...

URL: http://www.linux.com/learn/tutorials/480530:is-glark-a-bette...
Новость: http://www.opennet.me/opennews/art.shtml?num=31446

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "В рамках проекта Glark развивается альтернатива Grep"  +6 +/
Сообщение от рш on 10-Авг-11, 13:40 
+6 к фичам, -10 к скорости, -100 к размеру (руби же в зависимостях)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "В рамках проекта Glark развивается альтернатива Grep"  +7 +/
Сообщение от Аноним (??) on 10-Авг-11, 13:55 
+ 100 к размеру, вы хотели сказать?
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

19. "В рамках проекта Glark развивается альтернатива Grep"  +/
Сообщение от рш on 10-Авг-11, 14:44 
да
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

30. "В рамках проекта Glark развивается альтернатива Grep"  +5 +/
Сообщение от Аноним (??) on 10-Авг-11, 15:58 
Алсо:
+1 к скиллу кодинга в руби
-10 к скиллу разумного решения инжеерных задач.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "В рамках проекта Glark развивается альтернатива Grep"  +8 +/
Сообщение от Аноним email(??) on 10-Авг-11, 13:50 
а я почему-то думал, что главное в этой утилите - скорость...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "В рамках проекта Glark развивается альтернатива Grep"  +1 +/
Сообщение от Аноним (??) on 10-Авг-11, 13:58 
> а я почему-то думал, что главное в этой утилите - скорость...

поддерживаю

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

33. "В рамках проекта Glark развивается альтернатива Grep"  +4 +/
Сообщение от Аноним (??) on 10-Авг-11, 16:04 
> а я почему-то думал, что главное в этой утилите - скорость...

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

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

53. "В рамках проекта Glark развивается альтернатива Grep"  +/
Сообщение от Аноним (??) on 10-Авг-11, 20:36 
> руби качать для работы с оным

Ruby — зависимость texlive, его не надо качать.

Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

54. "В рамках проекта Glark развивается альтернатива Grep"  +1 +/
Сообщение от Аноним (??) on 10-Авг-11, 21:04 
> Ruby — зависимость texlive, его не надо качать.

У меня почему-то нет никакого texlive и руби, но греп есть.

Ответить | Правка | ^ к родителю #53 | Наверх | Cообщить модератору

41. "В рамках проекта Glark развивается альтернатива Grep"  +/
Сообщение от Andrew Kolchoogin on 10-Авг-11, 16:30 
Нет. (C)

grep(1) никогда за скорость не боролась. Хотите быстро искать подстроку -- используйте fgrep(1).

+скорость
-regexp

Быстро, дёшево, качественно -- любые два на выбор.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

44. "В рамках проекта Glark развивается альтернатива Grep"  +/
Сообщение от Anonymouse on 10-Авг-11, 17:43 
Так то оно так ... Но вот даже не запуская этот тулз готов на деньги поспорить что "медленному" grep'у он сольёт :) Напрочь!(С)Анек
Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

4. "В рамках проекта Glark развивается альтернатива Grep"  +/
Сообщение от Аноним (??) on 10-Авг-11, 13:53 
Уберите из особенностей то, что есть в GNU grep или отделите их как-то
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "В рамках проекта Glark развивается альтернатива Grep"  +4 +/
Сообщение от Аноним (??) on 10-Авг-11, 13:58 
Подсветка есть (--color для цвета, -H для отоборажения имени файла, -n номера строк)
Диапозоны есть (-A -B -C)
и вообще man grep сначала
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

8. "В рамках проекта Glark развивается альтернатива Grep"  +1 +/
Сообщение от Аноним (??) on 10-Авг-11, 13:59 
Мне эта какашка на руби не нужна. Пусть на си перепишут. :)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "В рамках проекта Glark развивается альтернатива Grep"  +7 +/
Сообщение от oops (ok) on 10-Авг-11, 14:00 
> улучшенной альтернативы grep.
> Код Glark написан на языке Ruby.

не клеится как-то

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "В рамках проекта Glark развивается альтернатива Grep"  +1 +/
Сообщение от Аноним (??) on 10-Авг-11, 14:08 
чем оно лучше ack? (http://betterthangrep.com/)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

69. "В рамках проекта Glark развивается альтернатива Grep"  +/
Сообщение от Одмин on 11-Авг-11, 18:04 
Не знаю как щас а ack пару лет назад был глюкодромом: он выводил не всё. Не знаю как авторы добились. Плюс утилита стрёмная - её код автосгенерирован.
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

16. "В рамках проекта Glark развивается альтернатива Grep"  +4 +/
Сообщение от inv (ok) on 10-Авг-11, 14:32 
Кому это надо? Мало того что PRCE сами по себе медленные из-за того что разработчики разменяли фичи на скорость. (Самая быстрая реализация регэкспов основана на теории конечных автоматов и конструкции Томсона.)
Так эти велосипедисты решили ещё замедлить всё это дело, переписав греп на руби... сразу закопать!

ps
http://swtch.com/~rsc/regexp/regexp1.html

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

58. "В рамках проекта Glark развивается альтернатива Grep"  +/
Сообщение от Аноним (??) on 11-Авг-11, 02:24 
> Так эти велосипедисты решили ещё замедлить всё это дело, переписав греп на
> руби... сразу закoпать!

Ну это вы понимаете, а рубисты понимают что "если на руби - значит улучшенная альтернатива". Логика забавная, но почему-то у питонистов, рубистов и жабистов это такой вот синдром.

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

20. "В рамках проекта Glark развивается альтернатива Grep"  –5 +/
Сообщение от Аноним (??) on 10-Авг-11, 14:48 
Ребята, куда вам эта скорость? Да, иногда она необходима. Терабайты логов, бла-бла-бла. Да и то, узкое место в этом случае - ввод/вывод, на чем написана утилита - какбы не самое важное.
В большинстве же случаев удобство пользования куда приятнее. И тут свистелки вроде раскраски и PCRE как раз кстати.

Хотя, по-моему тоже неочень получилось. Диапазоны бесполезны из-за head/tail, фич маловато, да и grep сам по себе неплох. Лучше бы find с человеческим лицом сделали.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

25. "В рамках проекта Glark развивается альтернатива Grep"  +1 +/
Сообщение от inv (ok) on 10-Авг-11, 15:17 
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."

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

38. "В рамках проекта Glark развивается альтернатива Grep"  +2 +/
Сообщение от Аноним (??) on 10-Авг-11, 16:13 
> Ребята, куда вам эта скорость?

Ржевский, молчать! Вот когда сам грепнешь пару гигов логов сервака - тогда и поймешь куда она нам :E.

> Да, иногда она необходима. Терабайты логов, бла-бла-бла. Да и то, узкое место в
> этом случае - ввод/вывод, на чем написана утилита - какбы не самое важное.

Ввод-вывод на хороших носителях может выдавать сотни мегов в секунду. Это ваше кульное руби да еще с PCRE на раз заткнется прожевать даже скромные 100Мб/сек с стандартного сатащного диска.

> В большинстве же случаев удобство пользования куда приятнее. И тут свистелки вроде
> раскраски и PCRE как раз кстати.

Не знаю кому там кстати, но мне возможностей стандартного грепа хватало, перспективу писать регэкспы я в гробу видал. И, ВНЕЗАПНО, у меня почему-то греп и без велосипедистов уже и так умеет раскраску.

> Хотя, по-моему тоже неочень получилось. Диапазоны бесполезны из-за head/tail,
> фич маловато, да и grep сам по себе неплох. Лучше бы find с человеческим лицом сделали.

Зачем нужно прикручивать человеческое лицо к find? Чтобы детей им пугать? oO Велосипедисты и так справляются с пуганием, даже без человеческих рож прикрученных к утилитам.

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

49. "В рамках проекта Glark развивается альтернатива Grep"  +/
Сообщение от Аноним (??) on 10-Авг-11, 18:52 
> Ребята, куда вам эта скорость? Да, иногда она необходима. Терабайты логов, бла-бла-бла. Да и то, узкое место в этом случае - ввод/вывод, на чем написана утилита - какбы не самое важное.

Наглая, тупая ложь. Скорость необходима всегда, а это угрёбище на ruby неспособно обрабатывать поток со скоростью диска, не говоря уже о ssd, рейдах, потоке из 10Gb сети, огромном выводе программы или банальном gunzip < log.gz | grep

Кроме того, иногда необходимо запустить grep много раз, а тут важна скорость запуска, которая у этого угрёбища тоже кошмарная.

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

23. "В рамках проекта Glark развивается альтернатива Grep"  +3 +/
Сообщение от segoon email(ok) on 10-Авг-11, 14:58 
Как-то не впечатляет :(

> Подсветка масок и имен файлов в выводе;

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 должны быть быстрые и максимально простые.  Руби существует не для таких вещей.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

42. "В рамках проекта Glark развивается альтернатива Grep"  +/
Сообщение от Аноним (??) on 10-Авг-11, 16:44 
> Вот тут наверное всё же лучше юзать awk - язык по-богаче будет для подобных выкрутасов.

Самое интересное, что это и побыстрее будет, а не только побогаче =)

Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

27. "В рамках проекта Glark развивается альтернатива Grep"  +2 +/
Сообщение от Аноним (??) on 10-Авг-11, 15:30 
А в чем, собственно, проблем с грепом?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

39. "В рамках проекта Glark развивается альтернатива Grep"  +1 +/
Сообщение от Аноним (??) on 10-Авг-11, 16:17 
> А в чем, собственно, проблем с грепом?

Он написан не на руби. Поэтому у некоторых на заднице вылез красный прыщ - у них зуд, заставляющий заниматься велосипедостроением. Вообще, не жирно ли о каждом скриптике по новости зафигачивать? А если я шелскрипт на 5 строк рожу - это будет темой для новости? Может я даже какую системную утиль заменю. Ну вот например я могу на раз заменить /bin/false на версию написанную на баш (питоне, руби, перле, похапэ, яваскрипте или чем там еще). Давайте по этому поводу новость напишем? А лучше по новости на каждый язык, чтобы уж совсем хорошо :)

Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

43. "В рамках проекта Glark развивается альтернатива Grep"  +/
Сообщение от Аноним (??) on 10-Авг-11, 16:46 
Подозреваю, что парни кодили исключительно ради удовольствия (как и многие другие), и от них глупо ждать чего-то полезного, они не ради этого стараются. А вот насчет того, зачем такие новости постить - тут я согласен
Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

40. "В рамках проекта Glark развивается альтернатива Grep"  +1 +/
Сообщение от Аноним (??) on 10-Авг-11, 16:23 
Ужасно. Если тут и есть здравые идеи, то это только использование pcre вместо убогих posix'овых регулярок, хотя ещё лучше было бы заюзать Яндексовские pire, бо они в разы быстрее, а все фичи pcre почти никогда не нужны.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

45. "В рамках проекта Glark развивается альтернатива Grep"  +1 +/
Сообщение от iCat (ok) on 10-Авг-11, 17:54 
Ух, ты!!! Теперь ждём альтернативу ed на QT?
Что ж, JustForFun...
Кстати, а почему бы не сделать 3-х мерное выделение найденных слов? С музыкальным сопровождением?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

51. "В рамках проекта Glark развивается альтернатива Grep"  +/
Сообщение от all_glory_to_the_hypnotoad (ok) on 10-Авг-11, 19:40 
да, кстати, было бы круто. И с возможностью постить найденное сразу в фейсбук или вконтакт
Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

67. "В рамках проекта Glark развивается альтернатива Grep"  +/
Сообщение от redwolf (ok) on 11-Авг-11, 15:59 
Это можно было бы хотя бы поставить поиграться и поржать. Такие бредовые проэкты периодически возникают. Вроде quake в псевдографике ) В чём fun тут непонятно. Недостатка юзабельности grep за мой стаж общения с linux не замечено.
Ответить | Правка | ^ к родителю #51 | Наверх | Cообщить модератору

47. "В рамках проекта Glark развивается альтернатива Grep"  +/
Сообщение от gegMOPO4 (ok) on 10-Авг-11, 18:41 
У Microsoft есть альтернатива grep-у ещё с 3-й версии DOS. Называется find.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

48. "В рамках проекта Glark развивается альтернатива Grep"  +/
Сообщение от Аноним (??) on 10-Авг-11, 18:49 
Альтернатива - это нечто, сравнимое по функциональности, чего про мсовский файнд не скажешь
Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

50. "В рамках проекта Glark развивается альтернатива Grep"  +/
Сообщение от gegMOPO4 (ok) on 10-Авг-11, 18:57 
Какая ОС — такая и альтернатива. Потоковые утилиты в однозадачной системе — то ещё издевательство.
Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

56. "В рамках проекта Glark развивается альтернатива Grep"  +/
Сообщение от Аноним (??) on 10-Авг-11, 21:22 
> У Microsoft есть альтернатива grep-у ещё с 3-й версии DOS. Называется find.

Уточним, это не альтернатива а жалкая пародия.


Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

66. "В рамках проекта Glark развивается альтернатива Grep"  +/
Сообщение от Andrey Mitrofanov on 11-Авг-11, 15:20 
Альтернативон одарённая альтернатива! ---"Нежнее, Владимир."
Ответить | Правка | ^ к родителю #56 | Наверх | Cообщить модератору

52. "В рамках проекта Glark развивается альтернатива Grep"  +1 +/
Сообщение от AHAHAC (ok) on 10-Авг-11, 20:32 
Цвет - alias grep='grep --color=yes'
Возможность использования составных выражений -egrep  
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

55. "В рамках проекта Glark развивается альтернатива Grep"  +/
Сообщение от maxkit (ok) on 10-Авг-11, 21:08 
Предлагаю написать новый grep на mono, чтобы работал только через браузер, а потом всего лишь парсить результат по скриншоту в браузере, и вставлять этот grep в обязательном порядке во все дистрибутивы.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

57. "В рамках проекта Glark развивается альтернатива Grep"  +/
Сообщение от Мяут (ok) on 11-Авг-11, 00:17 
В ChromeOS так и есть я полагаю. :)
Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору

59. "В рамках проекта Glark развивается альтернатива Grep"  +/
Сообщение от Аноним (??) on 11-Авг-11, 02:27 
> В ChromeOS так и есть я полагаю. :)

Там на яве мыслить полагается наверное. Ну или хотя-бы на яваскрипте.

Ответить | Правка | ^ к родителю #57 | Наверх | Cообщить модератору

60. "В рамках проекта Glark развивается альтернатива Grep"  +/
Сообщение от anonymous (??) on 11-Авг-11, 03:17 
(задумчиво) а вот у офигенной библиотеки tre в составе идёт agrep. мало того, что сама tre очень шустра (да-да, то самое, что выше в ссылках — fallback только для бэктрэкинга), так оно ещё умеет «приблизительные регэкспы» (то бишь, регэкспы с указаным диапазоном несовпадения). и написано на сях, потому маленькое и шустрое.

вопрос: этот рубикомбайн (который руби за сабой тянет) — умеет «приблизительные регэкспы» хотя бы? или скорость, как у agrep?

вопрос риторический, если что.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

62. "В рамках проекта Glark развивается альтернатива Grep"  +/
Сообщение от inv (ok) on 11-Авг-11, 08:58 
Спасибо, интересная библиотека, приму на заметку :)
Ответить | Правка | ^ к родителю #60 | Наверх | Cообщить модератору

63. "В рамках проекта Glark развивается альтернатива Grep"  +/
Сообщение от anonymous (??) on 11-Авг-11, 09:03 
> Спасибо, интересная библиотека, приму на заметку :)

на здоровье. использую много лет, очень доволен, стррррашных багов не видел. жаль, что все знают про pcre, и почти никто — про tre. по мере сил способствую, так сказать.

Ответить | Правка | ^ к родителю #62 | Наверх | Cообщить модератору

64. "В рамках проекта Glark развивается альтернатива Grep"  +/
Сообщение от kgx email on 11-Авг-11, 09:36 
для того, чтобы скипать часть файла есть tail и head, накойхрен это в утилиту поиска вструмлять? каждая программа должна заниматься своим делом, но хорошо. а для чуть более сложных - можно уже и awk с perl использовать.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

68. "В рамках проекта Glark развивается альтернатива Grep"  +/
Сообщение от redwolf (ok) on 11-Авг-11, 16:04 
"каждая программа должна заниматься своим делом"

Это unix-way. Не все его понимают. Смиритесь )

Ответить | Правка | ^ к родителю #64 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру