Если первые/последние строки исключены, потому что они не могут иметь пустых строк с обеих сторон:
$ cat ip.txt
A0
B1
A2
A
A
C3
AN
$ awk 'NR>=3 && p2~/^$/ && p1~/./ && /^$/{print p1} {p2=p1; p1=$0}' ip.txt
B1
A2
C3
NR>=3
нужно как минимум 3 строки для соответствия условию{p2=p1; p1=$0}
сохранение последней строки в p1
и предпоследней строки в p2
p2~/^$/ && p1~/. / && /^$/
соответствие заданному условию, предполагает, что пустая строка не должна иметь пробелов и строка для соответствия НЕ пустая Это может указывать на очевидное, но вы и только вы можете сказать, что важно, а что нет, и создать сценарий установки в зависимости от того, что вам нужно. Сценарии несложны. Если вы работаете в системе, совместимой с RedHat, все, что вам нужно, это серия команд yum install
. Если вы собираетесь использовать вариант Debian, команда меняется на apt-get install имя_пакета
. Возможно, вам придется вручную добавить имена репозиториев для нескольких эзотерических приложений, но в остальном все должно пройти гладко.
Если вы хотите узнать, что было установлено в вашей предыдущей системе, вы можете получить эту информацию с помощью
rpm -qa #on RedHat variants
dpkg --get-selections #on debian variants
, просто обработав вывод с помощью sed / awk / grep.