Код: Выделить всё
[skeletor@host]$ sed '/bad_guys/ a \qqq' fire.wall > xc
sed: 1: "/bad_guys/ a \qqq": extra characters after \ at the end of a command
Модератор: Модераторы разделов
Код: Выделить всё
[skeletor@host]$ sed '/bad_guys/ a \qqq' fire.wall > xc
sed: 1: "/bad_guys/ a \qqq": extra characters after \ at the end of a command
skeletor писал(а): ↑21.07.2008 15:59Читал про команду "а\", но не могу разобраться, как её пользоваться. Подскажите, какие у неё параметры и как она записывается. Вылазит ошибка
Код: Выделить всё
[skeletor@host]$ sed '/bad_guys/ a \qqq' fire.wall > xc sed: 1: "/bad_guys/ a \qqq": extra characters after \ at the end of a command
MUTOgen писал(а): ↑21.07.2008 19:43skeletor писал(а): ↑21.07.2008 15:59Читал про команду "а\", но не могу разобраться, как её пользоваться. Подскажите, какие у неё параметры и как она записывается. Вылазит ошибка
Код: Выделить всё
[skeletor@host]$ sed '/bad_guys/ a \qqq' fire.wall > xc sed: 1: "/bad_guys/ a \qqq": extra characters after \ at the end of a command
а чего вы хотите добиться?
skeletor писал(а): ↑21.07.2008 20:57MUTOgen писал(а): ↑21.07.2008 19:43skeletor писал(а): ↑21.07.2008 15:59Читал про команду "а\", но не могу разобраться, как её пользоваться. Подскажите, какие у неё параметры и как она записывается. Вылазит ошибка
Код: Выделить всё
[skeletor@host]$ sed '/bad_guys/ a \qqq' fire.wall > xc sed: 1: "/bad_guys/ a \qqq": extra characters after \ at the end of a command
а чего вы хотите добиться?
А разве непонятно из заголовка темы чего я хочу?
MUTOgen писал(а): ↑21.07.2008 20:27
Просто человек не сформулировал задачу а кинул выражение, да еще и неправильное....
1) Если надо вставить строку qqq после bad_guys то пишем
sed '/bad_guys/ a\qqq' fire.wall > xc
2) Если надо вставить слово после заданного по ходу строки, то целесообразней не использовать 'a'. А сделать:
sed 's/bad_guys/bad_guys qqq/' fire.wall > xc
Код: Выделить всё
sed '/qqqq/ \a
TEXT
' filename > otherfile
skeletor писал(а): ↑21.07.2008 21:09MUTOgen писал(а): ↑21.07.2008 20:27
Просто человек не сформулировал задачу а кинул выражение, да еще и неправильное....
1) Если надо вставить строку qqq после bad_guys то пишем
sed '/bad_guys/ a\qqq' fire.wall > xc
2) Если надо вставить слово после заданного по ходу строки, то целесообразней не использовать 'a'. А сделать:
sed 's/bad_guys/bad_guys qqq/' fire.wall > xc
Я сформулировал задачу нормально. А то что вы неправильно читаете или хотите что бы вам писали трактаты на вопросы, которые проще простого, тут уж ... Теорию по Sed'y вы вроде бы читали, так же как и я. Да и практика тоже недалеко ушла. Я уже какие можно комбинации перепробовал и не работает!
1 - не работает! Вы сами-то хоть проверяли?
2 - это не то!
=====================
А теперь развязка. Рабочий код (почему работает именно так, а не иначе - непонятно).
Код: Выделить всё
sed '/qqqq/ \a TEXT ' filename > otherfile
И не надо рассказывать, что я неправильно формулирую задачу да и ещё неправильно.
Всем спасибо, разобрался, тему можно закрывать.
Код:
root[~]# sed '/you/a\qqq' 10
fgffff out
fgfd stay
yes
of
couse you now
qqq
how noise
root[~]# sed 's/you/you qqq/' 10
fgffff out
fgfd stay
yes
of
couse you qqq now
how noise
root[~]#
skeletor писал(а): ↑21.07.2008 15:59Читал про команду "а\", но не могу разобраться, как её пользоваться. Подскажите, какие у неё параметры и как она записывается. Вылазит ошибка
Код: Выделить всё
[skeletor@host]$ sed '/bad_guys/ a \qqq' fire.wall > xc sed: 1: "/bad_guys/ a \qqq": extra characters after \ at the end of a command
Код:
echo "1810: All _sb_main EPCoffice NewTwoMon NewPPP-unstable3"| sed '/1810/a\ТEXT'
1810: All _sb_main EPCoffice NewTwoMon NewPPP-unstable3
ТEXT
echo "1810: All _sb_main EPCoffice NewTwoMon NewPPP-unstable3"| sed '/1810/a\ТEXT'
sed: 1: "/1810/a\ТEXT": extra characters after \ at the end of a command
Код: Выделить всё
sed '/bad_guys/ a qqq' fire.wall > xc
Код: Выделить всё
sed '/bad_guys/ a \
qqq' fire.wall > xc