Подскажите, плизз. Вот такая конструкция работает.
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 -i "/$i/ {r $DESTDIR/$i;d;}" $manfile;разбей на два вызова, вообще я так понимаю, что это баг седа.
>>если записать в одну строку, ошибка
>>sed -i "/$i/ {r $DESTDIR/$i;d;}" $manfile;
>
>разбей на два вызова, вообще я так понимаю, что это баг седа.
>то есть, на sed -i "/$i/r $DESTDIR/$i" $manfile; sed "/$i/d" -i $manfile
Спасибо. А как указать седу, чтобы пропускал вторую строку файла?
т.е всю обработку чтобы начинал со 2ой строки.
>Спасибо. А как указать седу, чтобы пропускал вторую строку файла?|sed '2d'
>т.е всю обработку чтобы начинал со 2ой строки.
|sed '1d'