LINUX.ORG.RU

Поиск строки в тексте


0

1

Как в куче текста найти строку с заданным началом к примеру «FFF» и заданным окончанием к примеру «000» ,чтобы выдавало всё что начинается на FFF и заканчивается на 000, естественно с содержимым между ними игнорируя всё остальное?

★★★★★

регулярные выражения

TDrive ★★★★★
()

grep '^FFF.*000$' или sed -n '/^FFF.*000$/p'

grep по идее работает значительно быстрее на простых регулярках.

anarquista ★★★★★
()

Если таких строк несколько то лучше использовать perl, т.к. у sed и grep жадный поиск, иначе будет найдено не несколько строк, а одна строка, начинающаяся от первого вхождения «FFF» и заканчивающаяся последним вхождением «000».

perl -pi -e "s|FFF.*000?:|\n|g"
kostik87 ★★★★★
()
Ответ на: комментарий от anarquista

ну это да, просто подумалось что под «строкой» скорее всего имелось в виду «подстрока»

zolden ★★★★★
()

Спасибо всем разобрался Решило проблему

grep -ioe 'FFF.*000'

Эх жалею что в регулярки раньше не вникал.

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