> > > > Угу. И чтобы паттерны вида '^.*something.*$' работали и память не ели, > > > > да? > > > > Ну-ну ... > > > > > > Иожно подумать что функции regcomp, regexec и прочие из libc уже > > > выкинули. Или что libpcre в дистрибутиве отменили. > > > > Хех. И оно тогда будет быстрее grep'а или есть меньше памяти??? Да не > > в жисть не поверю :) > > Нет. Просто оно будет оперировать не строками, а блоками (возможно, > скользящими) по n байт или еще какими кусками файла. Что, собственно и > требуется. > > Хотя вариант tr '\0' '\n'| grep > > куда проще и естественнее. > > Проблема автора исходного письма была в том, что его не устраивало то > понятие "найденного контекста" которое имеет grep. Правда, определить > своё понятие он не удосужился.
:) Моё понятие найденного контекста очень элементарно, но конечно оно отличается от того на которое рассчитан grep... Вы правильно отметили, что мне нужно "оперировать не строками, а блоками" - в этом и есть основная разница. Мне нужно просто найти словосочетание без всяких хитростей, но в любых файлах и показать 10 символов слева от него, найденное и 10 символов справа от найденного, при этом с заменой управляющих символов на "?". Программка несложная и обязательно напишу, если не найду готового.