[Comm] bash trouble
Valery V. Inozemtsev
=?iso-8859-1?q?shrek_=CE=C1_freesource=2Einfo?=
Пт Май 7 11:56:14 MSD 2004
В сообщении от 7 Май 2004 11:38 Andrew Fefilov написал(a):
> On Fri, May 07, 2004 at 11:12:40AM +0400, Valery V. Inozemtsev wrote:
> > <skip>
> >
> > > [faqa на faa 444]$ ./proba "/ttt/kkk/lll kkk"
> > > /ttt/kkk/lll kkk
> > >
> > > [faqa на faa 444]$ cat ./proba
> > > #!/bin/bash
> > > echo $1
> > >
> > >
> > > Как видно из примера, в аргументе между "lll" и "kkk" стоит два
> > > пробела. А в выводе скрипта уже остается только один. Как бы эти
> > > грабельки обойти?
> >
> > [faqa на faa 444]$ ./proba "/ttt/kkk/lll*kkk"
>
> Пардон, конечно, но я что-то не понял Ваше решение. Чем должна эта
> звездочка помочь?
избавимся от пробелов в имени
> Дело в том, что в моей задаче агрументы для proba
> поставляет xargs, которому их скормил find. Каким образом я буду
> программно заменять идущие подряд несколько пробелов на звездочку я сейчас
> не очень представляю.
find ./ttt -type f | tr ' ' '*'
> Вообще, конечно, можно, наверное, составить список
> файлов сначала, потом пройтись по этому списку, заменяя пробелы на
> звездочки, а потом уже натравливать на преобразованный список proba. Но
> как то это уже монстрообразностью отдает.
да нет
> Я думал, может есть у bash какая
> ручка, которую можно покрутить, чтобы он воспринимал строку аргументов как
> единое целое, не пытаясь ее парсить.
не нашел
>
> > а еще лучше не присваивать файлам имена с пробклами
>
> С этим я с Вами полностью согласен. Другое дело, что приходится
> контактировать с теми, кто этой религии не подвержен :)
эх...
--
Valery V. Inozemtsev
ftp://ftp.altlinux.ru/pub/people/shrek/
Подробная информация о списке рассылки community