LINUX.ORG.RU

Какой unix tool выбирает из потока текст по заданному паттерну?


0

0

Есть *неупорядоченный* текстовый файл. В нём попадаются интересующие меня куски, подпадающие под определённый regex-паттерн. Хотелось бы из входного потока а) выбрать все интересующие меня куски и б) вывести их по одному в каждой строке.

Как это сделать наиболее стандартным и простым юникс-веем?

$ cat file | select-by-pattern «a..»
a12
a22
a80



Последнее исправление: pvv (всего исправлений: 2)

~ $ cat blah
a12
b23
a22
h26
a80
~ $ cat blah | grep '^a'
a12
a22
a80
edigaryev ★★★★★
()

Ну и вопросы пошли...

man grep

man re_format

GotF ★★★★★
()

OMFG, ты тут ещё и не первый день О_х

GotF ★★★★★
()

Ребята с грепом - остыньте - данные *неупорядочены*.

За ре_формат спасибо - почитаю.

pvv
() автор топика
Ответ на: комментарий от pvv

Ок. Ре_формат не пригодился.

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

pvv
() автор топика
Ответ на: комментарий от pvv

Сформулируй более точно задачу. Или тебе нужно выбрать именно строки, имеющие в начале паттерн «буква, затем два любых символа»? Или только сами эти «кусочки», исключая остальное?

GotF ★★★★★
()
Ответ на: комментарий от GotF
.-(~)---------------------------------------------------------(gotf@persephone)-
`--> cat test 
a13erjtgvenrvga55mvlhbla65
dgljlya87a90n,gmjky
.-(~)---------------------------------------------------------(gotf@persephone)-
`--> grep -o 'a..' test 
a13
a55
a65
a87
a90

Только не ручаюсь за «стандартность» опции "-o".

GotF ★★★★★
()
Ответ на: комментарий от GotF

Опция -о что надо. Будучи посланным читать man grep нашёл её и хотел проверить, но не получилось - недоступна она мне. Ну правильный греп можно попробовать добыть...

Спасибо. Вобщем-то это решение.

pvv
() автор топика
Ответ на: комментарий от pvv

По-моему, эта опция только в GNU grep. Если хочется POSIX'а, можно как-то сделать выборку с помощью sed.

GotF ★★★★★
()

Если не устраивает grep, можно perl.

friday ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.