Страница 1 из 1

SED - он меня достал....

Добавлено: 2008-06-30 17:03:44
havarz
в версии 4.1.5
конструкция cat file | sed 4i/dir/dir/filename\ \$2 > newfile
работает на ура.
в версии 3.02 ни хрена. весь инет уже перелопатил. :st:
ни хрена найти не могу.
хелп. плиз.

Re: SED - он меня достал....

Добавлено: 2008-07-01 7:23:55
zg
а чего сделать то надо?

Re: SED - он меня достал....

Добавлено: 2008-07-01 7:29:10
havarz
вставить строчку в определенном месте файла. четвертую например.

Re: SED - он меня достал....

Добавлено: 2008-07-01 7:40:58
zg

Код: Выделить всё

#!/bin/sh
sed -E -e '4i\
hello' /etc/rc.conf
пашет и на 4.11 и на 7.0, как узнать версию седа в мане не написано, пожтому не скажу где какая

Re: SED - он меня достал....

Добавлено: 2008-07-01 8:22:46
havarz
ключа -Е в этой версии нет.

Код: Выделить всё

#!/bin/sh
sed -e '4i\
hello' /etc/rc.conf
запись вставляет но выводит все на консоль, в сам файл незаписывает.
соответственно > /etc/rc.conf обнуляет файл.
я про то что после 4i\ нуно писать с новой строки как-то пропустил. спасибо.
решилось так.

Код: Выделить всё

#!/bin/sh
cat realfile | sed '4i\
/dir/dir/file\ \$2' > /dir/tempfile && mv /dir/tempfile /dir/realfile && chmod +x /dir/realfile
еще раз спасибо.
у меня версия sed показывается так:
sed --version или sed -V

Re: SED - он меня достал....

Добавлено: 2008-07-01 8:43:10
zg

Код: Выделить всё

zg# sed -V
sed: illegal option -- V
usage: sed script [-Ealn] [-i extension] [file ...]
       sed [-Ealn] [-i extension] [-e script] ... [-f script_file] ... [file ...]
zg# sed --version
sed: illegal option -- -
usage: sed script [-Ealn] [-i extension] [file ...]
       sed [-Ealn] [-i extension] [-e script] ... [-f script_file] ... [file ...]
zg# 
... :unknown:
havarz писал(а):я про то что после 4i\ нуно писать с новой строки как-то пропустил. спасибо.
там ман надо понимать добуквенно, не совсем понятно

Re: SED - он меня достал....

Добавлено: 2008-07-01 8:48:24
havarz
а у меня так:

Код: Выделить всё

sed -V
GNU sed version 3.02

Copyright (C) 1998 Free Software Foundation, Inc.
забыл добавить что это Linux :pardon: