Я ищу одну команду лайнера (в лучшем случае), которая может найти, если конкретная строка / строка представлена между двумя другими строками. Я ищу его, и я нашел только запятую, чтобы получить содержимое между двумя строками, но как я могу проверить, присутствует ли что-то или нет ..
.....
1 a 2 b 3
4
5
.....
1 c 2 d 3
4
5
.....
1 e 2 f 3
5
.....
Я нашел это:
sed -n '/^ 1 .* 2 .* 3$/,/^ 5$/p'
результат с этой командой обрезал нежелательные строки, подходящие для запуска (обрезал строки "...."), но все еще не знает, как проверить, присутствует ли "4" между:
1 a 2 b 3
4
5
1 c 2 d 3
4
5
1 e 2 f 3
5
Вывод должен выглядеть так:
"4" is missing after "1 e 2 f 3"
ИЛИ только (еще лучше):
"1 e 2 f 3"