Если конкретный номер строки никогда не меняется, вы можете использовать что-то вроде:
sed -i '11inewly_addedd_line_1 \
newly_addedd_line_2 \
newly_addedd_line_3 \
newly_addedd_line_4 \
newly_addedd_line_5' /path/to/your/grub.cfg
и вы можете дважды проверить, что он будет делать то, что вы хотите, просто не включая флаг ' -i' (без него, это распечатает файл с вашими изменениями, но на самом деле не будет изменить файл ).
Если вы хотите добавить его после сопоставления с шаблоном, а шаблон, который вы вставляете, содержит всю строку, вы можете сделать это:
sed -i '/set menu_color_highlight=black\/light-gray/a \
newly_addedd_line_1 \
newly_addedd_line_2 \
newly_addedd_line_3 \
newly_addedd_line_4 \
newly_addedd_line_5' /path/to/your/grub.cfg
Где /PATTERN/a означает добавление после шаблона.
Вы также можете добавить что-то перед строкой, используя /PATTERN/i для вставки.
Сначала я сделал "ufw default deny incoming;ufw по умолчанию разрешает исходящий», затем «ufw разрешает 3260/tcp; ufw deny from 192.168.0.112 to any port 3260 proto tcp; ufw deny from 192.168.0.200 to any port 3260 proto tcp". Но это не сработало. Эта ситуация применима ко всем видам услуг. Итак, я пропустил второй шаг, «ufw allow 3260/tcp», и добавил правило «ufw allow in from IP» для IP-адреса, которому я разрешаю его впускать. Тогда это работает. Это касается и других сервисов. Поэтому я делаю вывод, что ufw или iptalbe не допускают более двух -правил стадии, которые могут конфликтовать друг с другом. Хотя это логично.