Я бы хотел добавить новую строку после строки + 2 строки.'sed': Как добавить новую строку после совпадения строк + 2 строки
Вот мой файл:
allow-hotplug eth0
auto eth0
iface eth0 inet static
address 172.16.2.245
netmask 255.255.254.0
gateway 192.168.1.1
allow-hotplug eth1
#auto eth1
iface eth1 inet static
address 192.168.0.240
netmask 255.255.255.0
iface eth2 inet static
address 192.168.2.240
netmask 255.255.255.0
Я хочу добавить 'шлюз 192.168.1.1' после того, как нашел 'Iface eth1' + 2 строки.
пример: то, что мне нужно получить после выполнения SED команды
allow-hotplug eth0
auto eth0
iface eth0 inet static
address 172.16.2.245
netmask 255.255.254.0
gateway 172.16.2.254
allow-hotplug eth1
#auto eth1
iface eth1 inet static
address 192.168.0.240
netmask 255.255.255.0
gateway 192.168.1.1
iface eth2 inet static
address 192.168.2.240
netmask 255.255.255.0
Я знаю, как найти и переместить 2 линии после добавления строки после определенной строки, и т.д., но не совместить эту операцию 2. Стеф
Большое спасибо! это действительно полезно. – user2319609
@ user2319609 Рад помочь. Вы можете [принять ответ] (http://meta.stackexchange.com/a/5235/181223), кстати. –
Фантастический ответ. Будет использовать это часто, поскольку я использовал что-то вроде 'line_num2 = $ (grep -n 'txt_to_find' targ_file.h | awk '{print $ 1}')', а затем добавить, чтобы получить нужный номер строки! Это намного эффективнее. – Zmart