[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Dateinamen mit Leerzeichen korrekt bearbeiten



Juergen Salk <juergen.salk@gmx.de> writes:

> for datei in $verzeichnis/* $verzeichnis/.*

Nachtrag zu meinem anderen Artikel: dem OP ging es um Leerzeichen.
Also:

OLDIFS="$IFS" IFS="
"
for i in $(find . -maxdepth 1 -type f); do
    # Mach irgendwas mit "$i"
done
IFS="$OLDIFS"

hat Probleme mit Newlines in Dateinamen und sieht grauslig aus,
wird aber oft verwendet.

find . -maxdepth 1 -type f | while read i; do
    # Mach irgendwas mit "$i"
done

sieht schon schöner aus, hat aber ebenfalls Probleme mit Newlines.

Beidesmal muss natürlich $i in Anführungszeichen gesetzt werden, wenn
es verwendet werden soll.

find . -maxdepth 1 -type f -exec tuwas mit \{} \;

ist sauber, schränkt aber "tuwas" ein, und

find . -maxdepth 1 -type f -print 0 | xarg -0 tuwas

schränkt "tuwas" weiter ein.

Das fällt mir so auf Anhieb an Möglichkeiten ein.

Gruß,

 Heike



Reply to: