[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