1 |
On Wed, 18 Jan 2006 23:55:55 +0100 Klaus Fabritius <kfk@××××××××××.de> |
2 |
wrote: |
3 |
> * Christof Schulze schrieb: |
4 |
> |
5 |
> > Alles Falsch ;) |
6 |
> > nee ma im ernst. Spaces in dateinamen sind kein Problem wenn man die |
7 |
> > Dateinamensliste durch globbing der Shell erstellen lässt |
8 |
> > also |
9 |
> > |
10 |
> > for i in *.mp3 |
11 |
> > do |
12 |
> > echo $i |
13 |
> > done |
14 |
> > |
15 |
> > ist kein Problem. Spaces werden korrekt in den Dateinamen |
16 |
> > übernommen. |
17 |
> |
18 |
> Schon... |
19 |
> |
20 |
> > Man sollte nur evtl um das nutzen zu können Unterordner durch eine |
21 |
> > entsprechende geschachtelte forschleife umsetzen. |
22 |
> |
23 |
> ...aber genau zur Vermeidung von geschachtelten Schleifen über |
24 |
> Verzeichnisstrukturen wurde "find" erfunden. Solche Konstrukte sind |
25 |
> schwer zu schreiben/lesen/debuggen/warten. Ein einziges "find" reicht. |
26 |
|
27 |
Die Manpage von Bash kann eine aufschlußreiche Lektüre sein, wenn man |
28 |
sie auch liest ;-) Guckt euch die Beschreibung der Variable IFS an. |
29 |
Folgendes habe ich eben zum Testen geschrieben: |
30 |
|
31 |
======================================================= |
32 |
#!/bin/bash |
33 |
|
34 |
IFS=' |
35 |
' |
36 |
|
37 |
files=$(find "${HOME}/music/" -name '*.mp3' -type f) |
38 |
let i=0 |
39 |
for f in ${files}; |
40 |
do |
41 |
let i++ |
42 |
echo "${i} ---> \"${f}\"" |
43 |
done |
44 |
======================================================= |
45 |
|
46 |
Viel Spaß beim Bashen, ähm, Bash-Scripten :-) |
47 |
|
48 |
Gruß, |
49 |
Renat |
50 |
|
51 |
-- |
52 |
Probleme kann man niemals mit derselben Denkweise loesen, |
53 |
durch die sie entstanden sind. |
54 |
(Einstein) |