При переустановке я сделал две вещи по-другому:
Мой корневой раздел должен был быть указан как Solaris Root
вместоLinux Filesystem
Я создал отдельный каталог /boot
с файловой системой ext4
Один из них решил мою проблему, но я не уверен, какой именно.
Я думаю, проблема в том, что вы сначала печатаете строку, а затем решаете выполнить другую обработку, а не сначала выполняете вставку, а затем печатаете строку.
Вы хотите вставить новый материал через 2 строки после магического маркера, а также добавить туда пустую строку, если строка начинается с #
.
awk '/#InsertPart/ { c = 3 }
--c == 0 { print "- new inserted line" }
c == 0 && /^#/ { print "" }
{print $0}'
Я записал код прямым способом, а не самым коротким, (например. "{print $0}", а не "1" ), чтобы было понятнее. --c == 0
уменьшает c и сравнивает новое значение c с 0.
попробуй
awk -v line='- new inserted line' '/#InsertPart/ {printf "%s\n\n%s\n", $0, line; next}; 1' yourfilename