[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