Использование ed
вместо sed
кажется для этого довольно излишним, учитывая, что вам нужно передать дополнительный ввод. В дистрибутиве, над которым я сейчас работаю, (CentOS 5.10 )есть опция -c
для sed
, которая использует «копирование» временного файла, а не просто переименовывает его при использовании с опцией -i
. Я протестировал его, и он отлично работал, сохраняя первоначального владельца и группу при встроенном редактировании. Это НЕ сохраняет время модификации.
например,sed -ci -e '3,5d' file.txt
-c
вместо переименования используется копирование (, т.е.сохраняет собственность/группу)-i
встроенное редактирование -e
скрипт/выражение для выполнения Не уверен, насколько распространен этот параметр для sed
в других дистрибутивах. В Solaris 10 этого не было, но в Solaris нет многих вещей, которые мне нужны.
Если у вас установлено и запущено firewalld
(, это необязательно ), все изменения в вашем iptables
должны выполняться с помощью демона и его команд, то есть firewall-cmd
.
Если вы хотите управлять iptables самостоятельно,
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo systemctl mask --now firewalld # to make it impossible for other services to start it