[Comm] bash trouble

Andrew Fefilov =?iso-8859-1?q?faqa_=CE=C1_blok-caf=2Eru?=
Пт Май 7 12:16:46 MSD 2004


On Fri, May 07, 2004 at 11:56:14AM +0400, Valery V. Inozemtsev wrote:
> В сообщении от 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 ' ' '*' 

Фу, млин! А ведь мысль! Сразу освободиться от пробелов, скажем, символом
подчеркивания и всё! т.е. щас вот так наваяю:

find -type f -print0 | xargs -l1 -0 | tr ' ' '_' | и_вперЁд_!

Спасибо, Валерий! Туговато в начале мая соображалка работает :)

> > Вообще, конечно, можно, наверное, составить список 
> > файлов сначала, потом пройтись по этому списку, заменяя пробелы на
> > звездочки, а потом уже натравливать на преобразованный список proba. Но
> > как то это уже монстрообразностью отдает. 
> 
> да нет
> 
> > Я думал, может есть у bash какая 
> > ручка, которую можно покрутить, чтобы он воспринимал строку аргументов как
> > единое целое, не пытаясь ее парсить.
> 
> не нашел
> 
> >
> > > а еще лучше не присваивать файлам имена с пробклами
> >
> > С этим я с Вами полностью согласен. Другое дело, что приходится
> > контактировать с теми, кто этой религии не подвержен :)
> 
> эх...

-- 
С уважением,
Фефилов Андрей.



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