Archiv verlassen und diese Seite im Standarddesign anzeigen : white space im Dateinamen
Hans-Georg Normann
25-04-2001, 22:10
Wie behandelt man white space im Dateinamen in einer shell?
Beispiel :
$VARIABLE=`echo "meine erste.mp3\
meine zweite.mp3"`
for DUMMY in $VARIABLE; do
echo $DUMMY
done
Dieses liefert:
meine
erste.mp3
meine
zweite.mp3
und nichtmeine erste.mp3
meine zweite.mp3
Hans
[ 25. April 2001: Beitrag editiert von: Hans-Georg Normann ]
Hallole,
mir fällt auf anhieb nix ein, aber ne andere
Möglichkeit hätt ich dir, vielleicht reichts ja:
---------------------------------------
FILES="mein erstes.mp3 mein zweites.mp3"
for i in $FILES; do
if [ -z `echo $i | grep "mp3"` ]; then
echo -n "$i "
else
echo $i
fi
done
---------------------------------------
Funktionieren tuts, obs das ist was du willst is ne andere frage ;)
Gruß micha
jgbauman
26-04-2001, 00:27
Man setzt einen Backslash for das Leerzeichen.
@jgbaumann
war des erste, was ich versucht hab:
funktioniert in ner for-schleife net...
Gruß micha
jgbauman
26-04-2001, 02:11
also:
for I in a\ b c\ d ; do echo "$I"; done
liefert:
a b
c d
Allerdings macht das echo in:
VARIABLE=`echo "meine\ ertse.mp3\ meine\ zweite.mp3"`
alles wieder kaputt.
Probier mal
VARIABLE="meine\ ertse.mp3 meine\ zweite.mp3"
oder auch
VARIABLE=`ls *.mp3 | sed -e"s/ /\\\\ /"`
bye
Manfred-B
26-04-2001, 23:19
Hallo
Die variable IFS (interal file separator) auf einen linefeed setzen.
oldifs=$IFS
IFS='
'
VARIABLE="meine erste.mp3
meine zweite.mp3"
for ...
;done
IFS=$oldifs
...
Grüsse
[ 26. April 2001: Beitrag editiert von: Manfred-B ]
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.