Um Dateien zu verarbeiten verwende ich bisher find und pipe:

find ./ -type f -print | dupmerge

und das funktionniert auch mit Dateinamen die Klammern, Anführungsstriche usw. enthalten, aber nicht mit einigen Dateien wie dieser hier:

> ls -ilaf ...
2420359 -rwxrwxr-x 1 nobody0 users 9163 2001-08-01 00:00 ftp.lugcamp.de/chaas/1/b%FCcher/b%FCcher/books/Unix2/upt/ch09_14??tm

Das ist die Ausgabe unter SuSE 9.3 und unter Debian wird die Datei als

ch09_14\n\ntm

angezeigt; anscheinend sind da zwei newlines drin.

Das Einlesen von dupmerge wird mit

while (fgets (buf, sizeof (buf), stdin), !feof (stdin))

vorgenommen und das nachfolgende lstat auf die betreffende Datei schlägt fehl, weil deren Name als "ch09_14)" und "tm" eingelesen wird, also als zwei Dateinamen eingelesen wird.

Irgendwelche Vorschläge?

Und wo gibt's ausgefallene Dateinamen-Sammlungen, die man zum Testen nehmen kann?