URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 8529
[ Назад ]

Исходное сообщение
"sed проблема"

Отправлено vovik , 01-Дек-09 02:37 
Подскажите, плизз. Вот такая конструкция работает.
sed -i "/$i/ {
        r $DESTDIR/$i
        d
        }" $manfile; \
если записать в одну строку, ошибка
sed -i "/$i/ {r $DESTDIR/$i;d;}" $manfile; \

sed: -e выражение #1, символ 0: непарный символ `{'
sed: -e выражение #1, символ 0: непарный символ `{'
sed: -e выражение #1, символ 0: непарный символ `{'
sed: -e выражение #1, символ 0: непарный символ `{'
sed: -e выражение #1, символ 0: непарный символ `{'
sed: -e выражение #1, символ 0: непарный символ `{'
Как правильно записать одной строке?

Полный скрипт:
for manfile in $(find $DESTDIR -type f -size +20c -name "*.[0-9n]") ; do
    for i in `sed -n 's/^.so //p' $manfile` ; do \
        sed -i "/$i/ {r $DESTDIR/$i;d;}" $manfile; \
    done; \
    sed -i '/^.\\\"/d' $manfile; \
done


Содержание

Сообщения в этом обсуждении
"sed проблема"
Отправлено Вова , 01-Дек-09 22:48 
>если записать в одну строку, ошибка
>sed -i "/$i/ {r $DESTDIR/$i;d;}" $manfile;

разбей на два вызова, вообще я так понимаю, что это баг седа.


"sed проблема"
Отправлено Вова , 01-Дек-09 22:49 
>>если записать в одну строку, ошибка
>>sed -i "/$i/ {r $DESTDIR/$i;d;}" $manfile;
>
>разбей на два вызова, вообще я так понимаю, что это баг седа.
>

то есть, на sed -i "/$i/r $DESTDIR/$i" $manfile; sed "/$i/d" -i $manfile


"sed проблема"
Отправлено vovik , 02-Дек-09 22:22 
Спасибо. А как указать седу, чтобы пропускал вторую строку файла?
т.е всю обработку чтобы начинал со 2ой строки.

"sed проблема"
Отправлено Andrey Mitrofanov , 03-Дек-09 10:21 
>Спасибо. А как указать седу, чтобы пропускал вторую строку файла?

|sed '2d'

>т.е всю обработку чтобы начинал со 2ой строки.

|sed '1d'