sed и sudo с заменой строки

Я хочу заменить строку sed и сохранить изменения в тот же файл, который требует sudo в качестве файла с правами root.

Но при этом я становлюсь ниже ошибки

raja@raja-UbuntuVM:~$ sudo sed 's|gateway 192.168.56.1| |g' /etc/network/interfaces # interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback iface eth1 inet static address 192.168.56.102 netmask 255.255.255.0 -bash: syntax error near unexpected token `newline' raja@raja-UbuntuVM:~$ sudo sed 's|gateway 192.168.56.1| |g' /etc/network/interfaces > /etc/network/interfaces -bash: /etc/network/interfaces: Permission denied 

 sudo sed 's|gateway 192.168.56.1| |g' /etc/network/interfaces > /etc/network/interfaces 

Это терпит неудачу, потому что ваша текущая (не- sudo ) оболочка пытается открыть файл interfaces до выполнения sudo . Чтобы обойти это, используйте параметр -i (inplace edit) sed :

 sudo sed -i 's|gateway 192.168.56.1| |g' /etc/network/interfaces 

редактирует и заменяет файл одновременно.