Python вставляет строку чуть выше второго вхождения шаблона из конца файла

За исключением решения, найти процесс, работающий на :80, и убить, а затем запустить снова,

Эта ошибка может возникнуть, если у вас есть несколько записей «Прослушивание» в файле конфигурации apache или в любых файлах.conf, включенных в файл конфигурации apache.

0
10.05.2018, 09:08
2 ответа

Фрагмент Python, который вставляет текст spamв последнюю позицию во втором -–-последнем %post..%endблоке:

with open('input') as fp:
    lines = fp.readlines()

locs = [i for i, val in enumerate(lines) if val == '%end\n']
lines.insert(locs[-2], 'spam' + '\n')

with open('input', 'w') as fp:
    fp.write(''.join(lines))
2
28.01.2020, 02:23

Чтобы вставить "некоторые данные" перед предпоследней строкой шаблона.
grep+awkраствор:

awk -v n="$(($(grep -c '^%end' inputfile) - 1))" \
'/^%end/{ if (++cnt == n) print "some data" }1' inputfile

Выход:

%post
.....
.....
%end
%post
.....
.....
some data
%end
%post
.....
.....
%end
1
28.01.2020, 02:23

Теги

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