mezery ve jmene souboru a shell interpretace

Marian Cavojsky cavo+konf na cavo.sk
Pondělí Březen 3 21:48:03 CET 2008


On Mon, Mar 03, 2008 at 08:49:27PM +0100, Jan Burdil wrote:
> Ahoj vsem,
> potrebuju pracovat se soubory ktere maji v sobe mezeru.
> No a jak urcite vetsina z vas vi, shell to nedokaze jednoduse vyresit.
> 
> Priklad:
> 
> n1:~/tmp$ for i in `find . -name '* *'` ; do ls -l $i ; done
> ls: ./a: No such file or directory
> ls: .txt: No such file or directory
> ls: ./a: No such file or directory
> ls: b.txt: No such file or directory
> 
> n1:~/tmp$ ls -l
> total 0
> -rw-r--r--  1 honza  users  0 Mar  3 20:43 a .txt
> -rw-r--r--  1 honza  users  0 Mar  3 20:43 a b.txt
> 
> Jde to prosim nejak elegantne obejit?

pozrite si manualove stranky ku find a xargs

find . -name '* *' -print0 | xargs --null ls 

for je na toto naozaj nevhodne. Ak potrebujete pre kazdy subor spustit
jeden prikaz pozrite si v xargs prepinace --replace a --max-args.

-- 
Marian



Další informace o konferenci Linux