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: