praut
quote Unix legacy grep "It's interesting that the common Unix command grep was actually inspired by this ex command (and is named after the way in which it was documented). The ex command :g/re/p (grep) was the way they documented how to "globally" "print" lines containing a "regular expression" (re)."
Strephil
grep А есть какой-то тайный смысл, почему grep не умеет искать tab?
grep '\t' — почему не работает? В чём смысл?
(какой же unix отстой)
Strephil
GNU grep Ого, GNU grep 2.21
Там и улучшена производительность, и баги какие-то поправлены (в том числе несколько, добавленных в версии 2.19).
xorkrus
Linux HTML console parsing grep Вот значит хочу из
<div class="info">много текста и других тегов</div>выдрать "много текста и других тегов". Казалось бы все просто (вот как щас помню)
grep 'info">*</div>'но не прокатывает.
А вот
grep '">*</div>'выдает
<div class="clear"></div>Я погуглил и пока не понял почему :\
Strephil
GNU глюкалово grep Всё-таки GNU Grep очень странный проект.
С одной стороны, вроде как там много действительно интересных идей реализовано, чтобы работало быстро.
А с другой, ну нельзя же так. Если считать, что это одна из важнейших программ в unix-like окружении, как в выпушенных стабильных версия могут появляться вот такие ошибки:
$ echo aa | grep -E 'a(b$|c$)'
aa

Кто-то скажет, мол, не надо сидеть на Arch. Не уверен. Это будет лишь означать, что у вас не работает что-то другое. Ведь нет же какой-то действительно стабильной ветки?

Всё больше склоняюсь к тому, что GNU Grep просто нельзя использовать, да и не использует его никто. UNIX-way остался в 80-х. Для пользовательского поиска файлов по содержимому используют специально предназначенные для этого системы; для чего-то другого — написанные профессионалами реализации регулярных выражений на всяких там Java.
grep и командный интерфейс сегодня это удел дрочеров и маргиналов :-(((
Strephil
GNU utf-8 grep grep -w no longer mishandles a potential match adjacent to a letter that
takes up two or more bytes in a multibyte encoding.
Similarly, the patterns '\<', '\>', '\b', and '\B' no longer
mishandle word-boundary matches in multibyte locales.
[bug present since "the beginning"]

Неужели это починили, то что мне нужно, и теперь это будет работать с русскими словами???
Strephil
GNU utf-8 grep Производительность GNU grep выросла в 200 раз!
Правда, в юникодных локалях всё стало еще хуже :-( падать стало реже, но производительность упала.

GNU Grep 2.19
Strephil
GNU grep Три года этот баг не исправят, три года grep не работает:
savannah.gnu.org

Означает ли это, что GNU и grep нужно удалить, откуда только можно? запретить использование GNU в школах?
Self-Perfection
WTF grep $ time grep -c 192.168.240.18 access.log
49090

real 0m0.102s
user 0m0.064s
sys 0m0.039s
$ time grep -c '192\.168\.240\.18' access.log
49094

real 0m0.409s
user 0m0.362s
sys 0m0.044s
$ time grep -Fc 192.168.240.18 access.log
49109

real 0m0.593s
user 0m0.561s
sys 0m0.031s

Почему с фиксированными строками в несколько раз дольше?!?!
Strephil
GNU grep GNU grep 2.13
Багофиксы:
1. grep -i теперь правильно выводит многобайтовый символы, даже если большая и маленькая буква различной длины (например, турецкая «и-с-точкой»);
2. --include и --exclude снова можно совмещать.
"grep --include='.[ch]' --exclude='system.h' PATTERN " читает все *.[ch], кроме system.h (наверное, это удобно для всяких вимеров, которые не осилили ни нормальных языков, ни нормальных сред разработки)
Нововведения:
grep без опции -z по умолчанию считает разреженные файлы бинарными, если удается определить, что файл действительно разреженный.
sandr1x
? help OpenOffice grep Вдогонку вчерашнему: есть over9000 восстановленных .odt-файлов. Каким образом можно автоматически поискать среди них те, которые содержат определённое слово? Спасибо.
Strephil
GNU grep Еще 21 июня вышел GNU grep 2.9, а я еще ничего об этом не слышал… В слоуарче никаках обновлений не было… Что там новенького?
Strephil
GNU RegEx grep регвыр Что касается grep's interpretation of range expression is now more consistent with
that of other tools в новой версии, то это относится к восьмибитным кодировкам.
Раньше dfa вызывал функцию strcoll, и происходило смешение больших и маленьких букв. Если же использование dfa было невозможным (ссылки назад в регвыре), то работало по-другому. Теперь эта путаница устранена.
Strephil
GNU grep Ура! Вышла новая версия GNU grep — замечательной программы для поиска строк в файле по регулярным выражениям — 2.8. Нашел на gnu.org
Улучшена обработка символов в диапазоне 0x80…0xff во многих локалях (напримерб printf '\xff\n'|grep "$(printf '[\xff]')" || echo FAIL), исправлена ошибка с прекращением работы при некоторых проблемах с памятью.
В Арче пока нет, слоупочат пока…
Strephil
GNU глюкалово grep GNU grep 2.7
./configure --prefix=/usr --bindir=/bin --with-included-regex

$ echo ПРИВЕТ | LANG=C grep '[а-я]'
grep: Invalid collation character
$ echo ПРИВЕТ | LANG=ru_RU.UTF-8 grep '[а-я]'
ПРИВЕТ

GNU grep 2.5.3, Debian GNU/Linux Lenny

$ echo ПРИВЕТ | LANG=C grep '[а-я]'
ПРИВЕТ
$ echo ПРИВЕТ | LANG=en_US.UTF-8 grep '[а-я]'
$

GNU grep 2.6.3, Debian GNU/Linux Squeeze
$ echo ПРИВЕТ | LANG=en_US.UTF-8 grep '[а-я]'
ПРИВЕТ
$ echo ПРИВЕТ | LANG=ru_RU.UTF-8 grep '[а-я]'
ПРИВЕТ
$ echo ПРИВЕТ | LANG=C grep '[а-я]'
$
Strephil
OpenBSD sed RegEx grep регвыр Продолжая #962287
Back-references не поддерживаются только при работѣ съ Extended POSIX regexes, съ BASIC — все работаетъ. Маны нужно читать внимательнѣе, тамъ написано не только про ‘dreadful botch’ , но и сказано, гдѣ этотъ ‘botch’ работаетъ, а гдѣ — нѣтъ.