Jump to content

FreeBSD 8 поюс sed


Recommended Posts

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

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

 

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

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...