Использование awk
для вставки строки в качестве предпоследнего поля в строке:
$ awk '/allow/ { $(NF+1) = $NF; $(NF-1) = "192.12.0." } { print }' file
hosts allow = 192.168.122. 192.12.0. 172.24.0
Первый блок будет выполнен для любой строки в file
, содержащей строку allow
. Сначала будет перемещено последнее поле, $NF
, на один шаг дальше, к $(NF+1)
. Это увеличивает NF
на единицу. Затем он присваивает строку предпоследнему полю, $(NF-1)
.
Затем печатаются все строки.
Перенаправить вывод из этого в новый файл и переместить этот файл на место:
awk...as above... file >file.new && mv file.new file
Судя по тому, что мне удалось найти на веб-сайте AMD, они не поддерживают Ubuntu 19.10. В результате я перешел на Ubuntu 18.04 LTS, так как, похоже, нет другого способа решить мои проблемы без каких-либо серьезных обходных путей.