У меня есть следующий файл file.txt, который следует тому же шаблону, и я хочу изменить его там, где находится этот файл, добавив IP:
# gfhfhgfh
gfhfghgfhgfhgfh
MACs
# access
USER CONSOLA *,!10.249.247.3,!10.249.245.65
/bin/false
Я хочу добавить IP-адрес в конце строки, которая содержит в качестве патрона КОНСОЛЬ ПОЛЬЗОВАТЕЛЯ:
USER CONSOLA *,!10.249.247.4,!10.249.245.65,!10.249.245.90,
Мне удалось добавить IP-адрес только во всем документе, но не в этой конкретной строке, где используется код
sed 's/\r\?$/,!10.10.11.1/' file.txt
Используя sed
, вам понадобится что-то вроде следующего:
sed '/USER CONSOLA/s/$/,!10.249.245.90,/' file.txt
Сначала мы сопоставим шаблон, к которому хотим добавить. Затем мы используем s / $ / ..
что означает добавить ! 10.249.245.90,
как есть в конец строки.
Вот еще одно решение awk
:
awk '/USER CONSOLA/{x=x; print $0",!10.249.245.90,";next}1' file.txt