Re: awk/shell-Rätsel

From: Peter Wullinger <peter.wullinger(at)googlemail.com>
Date: Wed, 14 Jan 2009 11:45:37 +0100

>
> Bei mir geht es im Moment gerade nur um Verzeichnisauflistungen, also
> eher ein Fall für awk oder sed, da die Datenmenge winzig ist und man
> schon (auf meinem Rechner) deutlich merkt, daß Python erst geladen
> werden muß. (Wobei ich gerade nichtmal weiß, ob Hochkommata überhaupt in
> Dateinamen erlaubt sind.)

Prinzipiell ist in Dateinamen alles erlaubt, was nicht
"'\0'" oder "/" ist und @/sys/kern/vfs_lookup.c gibt mir
da wohl Recht.

% touch \'" "\"
% ls
' "
%

Das man solche Dateinamen eher selten anlegt ist ein
Zugeständnis an die Benutzbarkeit solcher Namen an
der Shell:

% touch "a b"
for i in `find`; do echo $i; done
.
./a
b
% IFS="
"
for i in `find`; do echo $i; done
.
./a
b

Aber dann:

% unset IFS
% touch "a
b"
% for i in `find`; do echo $i; done
.
./a
b
%

Das ist mir übrigens auch kein direkt funktionierender Workaround
ohne Verwendung von "xargs -0" bekannt (mit IFS kann man nicht nach
dem Null-Byte splitten, also bringt "find -print0" auch nichts).

Grüße,
        Peter

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 14 Jan 2009 - 11:45:45 CET

search this site