Назад | Перейти на главную страницу

Введите в конце определенной строки

У меня есть следующий файл 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