Christian Perle chris@linuxinfotag.de (Mon Feb 14 16:49:24 2011):
Hallo Heiko,
On Mon, Feb 14, 2011 at 16:01:19 +0100, Heiko Schlittermann wrote:
Hehe, nicht so einfach???
$ mkdir test && cd test $ touch ' a' 'b ' 'c d' $ find . -type f | while read p; do echo "<$p>"; done $ find . -type f | while read; do echo "<$REPLY>"; done $ find . -type f -print0 | while read -d $'\x00'; do echo "<$REPLY>"; done
In der Tat, mein Skript funktioniert mit fuehrenden oder anhaengenden Leerzeichen nicht, mit eingebetteten gehts.
Das ist der kleine Unterschied zwischen "read" und "read VARIABLE".
Was Zeilenumbrueche in Dateinamen angeht... wer sowas macht, der will Schmerzen.
Das ist ja eine andere Frage ☺ Im vorliegenden Fall ist es bei der Fotosammlung auch eher unwahrscheinlich, da die ja sicher aus FAT-Systemen kommen.
Man kann jetzt natuerlich darueber diskutieren, ob man so einen kranken Scheiss aktiv unterstuetzen soll oder besser den Benutzer dazu erzieht, solche Dateinamen nicht zu verwenden.
Manchmal koennen wir uns das nicht aussuchen. Und ein technikferner Nutzer wird darin nichts Verwerfliches entdecken. Man kann hoffen, daß die verschiedenen Werkzeuge, mit denen so ein Nutzer umgeht, es ihm schwer machen, solche nicht-EDV-konformen Filenamen zu verwenden.
Denn auch in einem grafischen Dateimanager sind solche Namen mehr als aergerlich:
Schoen ☺