LINUX.ORG.RU
ФорумAdmin

command a expects \ followed by text

 


0

1

Всем привет, подскажите, что не так?

У меня есть файл test.txt с текстом:

# SOME STRINGS
vlans_em1="1"
# SOME STRINGS

Мне нужно sed'ом превратить файл в это

# SOME STRINGS
vlans_em1="1"
ifconfig_em1_1="inet 10.1.0.1/24"
# SOME STRINGS

Делаю так:

# sed -i -e "/vlans_em1/a ifconfig_em1_1=\x22inet 10.1.0.1\x2F24\x22" test.txt

Получаю:

sed: 1: "/vlans_em1/a ifconfig_e ...": command a expects \ followed by text

Кавычки sed -i -e «<...>» нужно обязательно, так как буду вставлять в скрипт и внутри кавычек будут переменные

Ответ на: комментарий от mfhunruh

sed (GNU sed) 4.5 все работает. Скопировал точно правильно?

cat 1.txt 
vlans_em1="1"

sed -E 's/(vlans_em1="1")/\1\nifconfig_em1_1="inet 10.1.0.1\/24"/' 1.txt 
vlans_em1="1"
ifconfig_em1_1="inet 10.1.0.1/24"

anonymous ()
Ответ на: комментарий от mfhunruh
^vlans_em1=.*$

У тебя видимо sed с BRE, а не ERE. Там другие правила и урезаны функции. Я щас первый раз про это читаю тоже, но вроде как у тебя с BRE не получится sed'ом эту задачу решить. http://pubs.opengroup.org/onlinepubs/9699919799/utilities/sed.html

anonymous ()

command a expects \ followed by text

^ вот же ^

DonkeyHot ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.