Введите IP в конце определенной строки [закрыто]

0
19.01.2019, 04:27
2 ответа

Совпадение в начале строки(^привязка )и замена нового текста в конце строки($привязка):

$ sed '/^USER CONSOLA/ s/$/,!10.10.11.1/' file.txt
# gfhfhgfh
gfhfghgfhgfhgfh
MACs 
# access
USER CONSOLA *,!10.249.247.3,!10.249.245.65,!10.10.11.1
/bin/false

Если в вашем файле есть окончания строк CRLF в стиле Windows/DOS, которые вы хотите сохранить, измените вышеуказанное на

sed '/^USER CONSOLA/ s/\r$/,!10.10.11.1\r/' file.txt

Если вы не хотите сохранять окончания DOS,затем либо сначала удалите их с помощью dos2unix, либо добавив для этого дополнительную команду в sed:

sed -e 's/\r$//' -e '/^USER CONSOLA/ s/$/,!10.10.11.1/' file.txt
2
28.01.2020, 02:41

Используемый ниже метод для достижения того же

sed  "/USER CONSOLA/s/.*/&\,\!10.249.245.90,/g" filename

выход

# gfhfhgfh
gfhfghgfhgfhgfh
MACs
# access
USER CONSOLA *,!10.249.247.3,!10.249.245.65,!10.249.245.90,
/bin/false
-1
28.01.2020, 02:41

Теги

Похожие вопросы