Kucher2 122 Опубликовано: 2010-06-26 14:24:30 Share Опубликовано: 2010-06-26 14:24:30 Привет народ! Имеем FreeBSD 8 и скрипт в шелл tch. Задача: вставить в файл определённую строку после строки, содержащей определённый текст. Целый день бьюсь. Пробовал так: > cat file1 | sed -e "/456/s/$/0000/" file2 результат: > cat file2 123 4560000 789 Так: > cat file1 | sed -e "/456/s/$/\n0000/" file2 результат: > cat file2 123 456n0000 789 И так не работает: > cat file1 | sed "/456/a \0000" file2 Даже синтаксис вроде: sed "2a 0000" не работает вовсе. А так работает: cat file1 | sed "2a\\ 0000" > file2 ...только результат снова: > file2 123 4560000 789 Просьба показать на примере с sed, кто реально пробовал, как это работает. Всё! Меня осенило! Вот так надо: cat file1 | sed "/123/a\\ вставляемая_строка " > file2 результат: > file2 123 вставляемая_строка 456 789 Спасибо за участие. Ссылка на сообщение Поделиться на других сайтах
Kto To 602 Опубліковано: 2010-06-26 17:09:56 Share Опубліковано: 2010-06-26 17:09:56 типа сам шучу сам смеюсь Ссылка на сообщение Поделиться на других сайтах
gelmas_x 11 Опубліковано: 2010-06-27 09:52:36 Share Опубліковано: 2010-06-27 09:52:36 зато человек отписался как нашел - кому то пригодится (парится не будет). Ссылка на сообщение Поделиться на других сайтах
Neelix 33 Опубліковано: 2010-06-27 09:57:45 Share Опубліковано: 2010-06-27 09:57:45 мало кто отписывается как решил ту или иную траблу Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас