shell-scripts og mellem\ rum i filnavne

From: Claus Guttesen (none@cguttesen--yahoo.dk.lh.bsd-dk.dk)
Date: Tue 02 Dec 2003 - 21:29:21 CET


Date: Tue, 2 Dec 2003 21:29:21 +0100 (CET)
From: Claus Guttesen <none@cguttesen--yahoo.dk.lh.bsd-dk.dk>
Subject: shell-scripts og mellem\ rum i filnavne
To: bsd-dk@bsd-dk.dk

Hej.

Skal lave et shell-script i bourne-shell som kan sende
nogle filer over på en server.

Problemet er at nogle af filerne har mellemrum i
filnavnet, og det kan jeg ikke rigtig komme uden om.

Jeg har set en opskrift på hvor man kan while og
loope, men fandt ud af, at det svarer til 'ls -1' (ls
og minus tallet 1). Den viser alle filer på hver sin
linie. Så langt så godt.

Men når jeg lægger det i en variabel og skal lave en
     

filelist=`ls -1`
for filename in "$filelist"
do
   identify "$filename"
done

så knækker filmen. Kommandoen inde i do/done er fra
ImageMagick-pakken, og jeg skal sende filen afsted,
hvis det er en grafik-fil.

Men identify får det forkerte argument, da for-løkken
sender brækker hele variablen op efter mellemrum, og
så bilver filen 'mellem rum.jpg' ligepludselig til
filerne 'mellem' samt 'rum.jpg'.

Dette kan godt løses i bl.a. perl, og sikkert i
python, men er der shell-sprog (meget apropos
ksh-introen) som er specielt lavet til den type
opgaver?

Jeg har prøvet med og uden "-tegn, og det virker bedst
med "-tegn. Men jeg kommer ikke i mål.

Hilsen
Claus

Yahoo! Mail (http://dk.mail.yahoo.com) - Gratis: 6 MB lagerplads, spamfilter og virusscan



This archive was generated by hypermail 2b30 : Wed 15 Nov 2006 - 18:24:34 CET