Как сгенерировать следующие числа

Поскольку вы просите sedрешение, я бы сделал это следующим образом:

sed -e '/^xyz$/!d;:a' -e '$!{N;ba' -e '};s/\(.*\nEnd\).*/\1/'

Итак, отбросьте все до первого шаблона (/^xyz$/!d), затем выполните цикл, чтобы собрать все оставшиеся строки в пространстве шаблонов(:a;$!{N;ba)и удалите все, что находится за последним вхождением второго шаблона(s/\(.*\nEnd\).*/\1/).

Сбор в пространстве шаблонов необходим, поскольку адресация(/xyz/,/End/)не является жадной, а .*внутри пространства шаблонов является жадной.

-4
18.08.2019, 05:35
1 ответ

Как сценарий оболочки

 for ((i=1; i<5 ; i++))
 do
     printf '%d, %d, %d, ' $i $((i+5)) $((i+10))
 done
 echo

После 14 будет лишняя запятая, это можно исправить, если это имеет значение.

0
28.01.2020, 05:20

Теги

Похожие вопросы