соответствие шаблона sed между строками - PullRequest
0 голосов
/ 30 октября 2018

Я пытаюсь написать скрипт sed, который выводит только строки файла, если строка имеет / pattern / и находится между строкой x и строкой y. У меня есть следующее:

./select.sed -n test.txt

select.sed:

#!/usr/bin/sed -f
/pattern/p

Если мой text.file следующий:

1 line 1
2 pattern
3 line 3
4 pattern
5 line 5

Желаемый результат будет

2 pattern

4 pattern

Как бы установить диапазон для строк 2-4 и печатать только значения с "шаблоном"?

1 Ответ

0 голосов
/ 30 октября 2018

Попробуйте:

sed -n 'x,y{/regexp/p}' file
  • -n означает, что не печатать пространство шаблона автоматически.
  • x,y означает, что работает только на линиях между x. и y. линия.
  • /regexp/p означает пространство шаблона печати, если regexp совпадает с пространством шаблона.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...