Перейти до

FreeBSD 8 поюс sed


Рекомендованные сообщения

Привет народ!

Имеем 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

 

Спасибо за участие. :)

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...