19 Mär 2008

Linux find und Leerzeichen in Dateinamen

Mich hat das jetzt eine völlig überflüssige Stunde meines Lebens gekostet. Wer, so wie ich, über den Linux Befehl “find” eine Schleife auslösen will, und dabei Leerzeichen in Datei- oder Pfadnamen bekommt, wird feststellen, dass die for schleife immer an Leerzeichen ein neues “Result” ergibt. Das bedeutet ein Script wie sowas funktioniert dann nicht
#!/bin/sh
for file in $(find /media/daten/ -iname *.vmx)
do
echo $file
done

Die einzig funktionierende Möglichkeit, war nach unzähligen printf ausdrücke und xargs fummeleien, die Variabel $IFS auf \n zu setzen.
#!/bin/sh
IFS="
"
for file in $(find /media/daten/ -iname *.vmx)
do
echo $file
done

Jetzt wird schön brav jede Einzelne Zeile auch mit Leerzeichen in Pfadangaben ausgegeben. Na dann kanns ja weiter gehen. Ich sollte mehr Linux-Scripte schreiben….

more Information:

5 Kommentare

  • 1. klaus schrieb am 11. September 2008 um 14:27:

    danke sehr,

    hab grad den ganzen nachmittag verbracht und bin einfach auf keine lösung gekommen.

    funktioniert super

  • 2. Jaxx schrieb am 22. November 2008 um 14:59:

    thx, habe ich auch gerade gebraucht :-)

  • 3. Dieter schrieb am 16. Februar 2009 um 15:44:

    Das hat mir gerade ein paar Stunden arbeit erspart!

  • 4. Linux find und Leerzeiche&hellip schrieb am 28. August 2009 um 10:34:

    [...] http://www.denkweite.de/…en-in-dateinamen/trackback/ [...]

  • 5. muxx schrieb am 20. Oktober 2009 um 12:05:

    dangö :)

Hinterlasse einen Kommentar

XHTML: folgenede Tags können genutzt werden: <a href="" title=""> <abbr title=""> <acronym title=""> <blockquote cite=""> <code> <em> <strong>