mezery ve jmene souboru a shell interpretace
Tomas Hala
thala na pef.mendelu.cz
Pondělí Březen 3 22:56:16 CET 2008
# 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?
# diky
# s pozdravem
# Jan Burdil
Zdravím,
měly by pomoci uvozovky a jedno zpětné lomítko:
for i in `find . -name '*\ *'` ; do ls -l "$i" ; done
Tomáš Hála
# ------------------------------
#
# Message: 11
# Date: Mon, 3 Mar 2008 21:48:03 +0100
# From: Marian Cavojsky <cavo+konf na cavo.sk>
# Subject: Re: mezery ve jmene souboru a shell interpretace
# To: Diskuse o Linuxu v cestine <linux na linux.cz>
# Message-ID: <20080303204803.GD11163 na stone.cavo.sk>
# Content-Type: text/plain; charset=iso-8859-2
#
# 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.
#
Další informace o konferenci Linux