в ряд файлов (конкретно /home/<users>/.icewm/menu) хочу вставить строчку сразу после закомментированного блока, с которого начинаются эти файлы (комментарий начинается с решетки).
перебор файлов-то делается элементарно (find /home/ -maxdepth 3 |grep ".icewm/menu"|xargs ...), а вот sed-скрипт что-то не выходит.
sed -i -e '/^#/! s/^/prog some-prog some-prog some-prog\n/' file
вставляет нужную строку перед _каждой_ незакомментированной строкой.
sed -i -e '/^#/! {s/^/prog some-prog some-prog some-prog\n/ ; q}' file
обрезает файл после первой незакомментированной строки.
может, задача не решаема средствами sed?
прошу помощи, а то совсем запутался (или затупел?).
Sash Kan добавил в 22.06.2005 19:02
вот и сам разобрался (:
sed -i -e '1{x;s/^$/prog some-prog some-prog some-prog/;x};/^#/!{H;s/^$//;x}' file
может, кому пригодится.
Sash Kan добавил в 22.06.2005 19:06
нифига!
строки дублируются.
думаю дальше.
Sash Kan добавил в 22.06.2005 19:37
окончательный вариант:
sed -i -e '1{x;s/^$/prog some-prog some-prog some-prog\n/;x};/^#/!{H;s/^.*$//;x;s/\n//}' file
sed (вставка строки в определенном месте)
Модератор: /dev/random
-
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
sed
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
- Сообщения: 1030
- Статус: собирающий миры
- ОС: Debian
-
- Сообщения: 2223
- Статус: Не очень злой админ :-)
- ОС: SuSE, CentOS, FreeBSD, Windows
Re: sed
Но при этом, согласитесь, вполне содержательную и полезную для окружающих. Ну а если кому-то это и не полезно, то уж точно не вредно.(xorader @ Четверг, 23 Июня 2005, 12:16) писал(а):тихо сам с собою, я веду беседу....

-
- Сообщения: 87
- ОС: Zenwalk Linux 2.6
Re: sed
знатоки sed'a просвятите плз как в выводе ls . заменить все пробелы на "\ "
XFCE 4.3.90, KDE 3.5.1
-
- Сообщения: 96
Re: sed
Код: Выделить всё
ls | sed 's/ /\//'g
С уважением, VAVka (VAVka pagе)
NimbleX 200 Mb USB Edition (krnl 2.6.24/2.4.22)
{XOrg 1.4.0/IceWM 1.2.35}
NimbleX 200 Mb USB Edition (krnl 2.6.24/2.4.22)
{XOrg 1.4.0/IceWM 1.2.35}
-
- Сообщения: 87
- ОС: Zenwalk Linux 2.6
-
- Сообщения: 1030
- Статус: собирающий миры
- ОС: Debian
Re: sed
(allez @ Четверг, 23 Июня 2005, 8:34) писал(а):Но при этом, согласитесь, вполне содержательную и полезную для окружающих. Ну а если кому-то это и не полезно, то уж точно не вредно.(xorader @ Четверг, 23 Июня 2005, 12:16) писал(а):тихо сам с собою, я веду беседу....
нисколько не спорю - так держать!

Molchanov Alexander (aka Xor)
*offtopic* - ololo!
*offtopic* - ololo!