[Comm] echo "две переменные"

Alexandr Leutin =?iso-8859-1?q?leutin-lists_=CE=C1_rambler=2Eru?=
Чт Сен 16 15:46:32 MSD 2004


On Thu, Sep 16, 2004 at 11:11:36AM +0300, Dolgov OV wrote:
> On Thu, 16 Sep 2004 13:39:49 +0600
> Alexandr Leutin <leutin-lists на rambler.ru> wrote:
> 
> > On Thu, Sep 16, 2004 at 09:56:15AM +0300, Dolgov OV wrote:
> > > > > а какая разница?
> > > > $i здесь принимает значение "file1.html\n", т.е. с переводом
> > > > строки. Ваше echo выдает аргументы в одну строку, т.е. сначала
> > > > печатает file1.html\n, возвращается на предыдущую строку и
> > > > печатает $n (с начала строки).
> > > Я так понял, что у меня таже проблема.
> > > 
> > > $ for ((i=1; i<787; i++)) ; do n=`grep ^НАЗВАНИЕ $i.html | sed
> > > s/"НАЗВАНИЕ\ \-\ "// - | sed s/"<br>"// -` ; echo $i - $n ; done 
> > > 1 - Авраам Руссо - Далеко Далеко 
> > > 2 - Авраам Руссо - Любовь которой Больше Нет 
> > > 3 - Академия - Зараза
> > > .....
> > > Нормально отработал.
> > > А вот надо наоборот. Результат должен выглядеть так:
> > > 
> > > Авраам Руссо - Далеко Далеко - 1
> > > Авраам Руссо - Любовь которой Больше Нет - 2
> > > Академия - Зараза - 3
> > > и т.д.
> > > 
> > > $ for ((i=1; i<787; i++)) ; do n=`grep ^НАЗВАНИЕ $i.html | sed
> > > s/"НАЗВАНИЕ\ \-\ "// - | sed s/"<br>"// -` ; echo $n - $i ; done
> > >  - 1ам Руссо - Далеко Далеко
> > >  - 2ам Руссо - Любовь которой Больше Нет
> > >  - 3емия - Зараза
> > > ......
> > > 
> > > Тоесть надо убрать из переменной $n символ перевода строки? Как?
> > > 
> > > Попробовал двумя разными echo - первое с ключем -n (или я его
> > > неправильно понял?), не помогло.
> > > 
> > > $ for ((i=1; i<787; i++)) ; do n=`grep ^НАЗВАНИЕ $i.html | sed
> > > s/"НАЗВАНИЕ\ \-\ "// - | sed s/"<br>"// -` ; echo -n $n ; echo -$i;
> > > done
> > 
> > for ((i=1; i<787; i++)) ; do n=`grep ^НАЗВАНИЕ $i.html | sed
> > s/"НАЗВАНИЕ\ \-\ "// - | sed -e "s/\n//g" - ; echo -n $n ; echo -$i;
> > done
> > 
> > Пробовали? <BR> - это в HTML так.
> 
> $ for ((i=1; i<787; i++)) ; do n=`grep ^НАЗВАНИЕ $i.html | sed
> s/"НАЗВАНИЕ\ \-\ "// - | sed -e "s/\n//g" -` ; echo -n $n ; echo -$i;
> done
> -1раам Руссо - Далеко Далеко <br>
> -2раам Руссо - Любовь которой Больше Нет <br>
> -3адемия - Зараза <br>
> .....
> 
> Результат тотже, только еще и <br> остался :-(
Попробуйте
for ((i=1; i<787; i++)) ; do echo `grep ^НАЗВАНИЕ $i.html | sed 
s/"НАЗВАНИЕ\ \-\ "// - | sed -e "s/\<br\>//" - $i; done
:)

> Может есть другой способ? Надо получить текстовый файл со списком в
> алфавитном порядке: "Название из .html" - "номер этого .html"
Способов что-то сделать всегда больше одного :)


-- 
Леутин Александр
Жизнь -- смертельно интересная штука!



Подробная информация о списке рассылки community