Следующее дает желаемый результат:
sed -e '/Group cat/,/^$/{//b' -e '/./d;}' file
В первой строке Group cat
будет выполнена команда b
, что приведет к переходу в конец скрипта и печати этой строки (действия по умолчанию ).
На всех остальных строках до следующей пустой строки будет выполняться команда d
, но не на самой пустой строке.
Я считаю, что рекомендуется использоватьgrubby
:
grubby --update-kernel=ALL --args="mem_sleep_default=deep"
добавит указанный аргумент в командную строку ядра, а
grubby --update-kernel=ALL --remove-args=mem_sleep_default
удалит его.
grubby
сводит к минимуму сделанные изменения, и при обновлении параметров ядра вышеуказанное сохранит другие параметры (на основе тех, которые использовались для загрузки работающего в данный момент -ядра ).
/etc/default/grub
не обязательно является справочным файлом для параметров загрузки; AFAICT в системах EFI вы должны посмотреть/boot/efi/EFI/fedora/grubenv
(или, скорее,/boot/grub2/grubenv
).
См. вики-страницу GRUB 2 в вики Fedora для получения дополнительной информации.