Hallo zusammen,
ich habe ein Problem mit der Manpage für `find` festgestellt, das zu einem Fehler bei der Verarbeitung durch `grotty` führt.
Beim Versuch, die Manpage zu parsen, erhalte ich die folgende Fehlermeldung:
```
grotty:<standard input>:29473: character above first line discarded
```
Dieses Problem tritt nur bei der Manpage von find auf!
Nach eingehender Untersuchung habe ich festgestellt, dass der Fehler anscheinend auftritt, weil es an der angegebenen Stelle (Zeichen 29473) mehrere aufeinanderfolgende Zeilenumbrüche zu geben scheint. Dies scheint das Problem zu verursachen, da `grotty` anscheinend
Schwierigkeiten hat, diese Formatierung zu verarbeiten.
```bash
bernds@bodhi:~$ zcat /usr/share/man/man1/find.1.gz > find_manpage_2.txt
bernds@bodhi:~$ cut -c29473 find_manpage_2.txt | hexdump -C
00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
*
00000972
bernds@bodhi:~$
```
Das Problem scheint bei Zeile 1010 aufzutreten:
```bash
bernds@bodhi:~$ zcat /usr/share/man/man1/find.1.gz > find_manpage_2.txt
bernds@bodhi:~$ head -n 1010 find_manpage_2.txt | wc -c
29437
bernds@bodhi:~$
```
Ich habe die Manpage entpackt und die problematische Stelle identifiziert. Hier ist ein Auszug aus der Datei:
**less find_manpage_2.txt**
```
999 File is of type
1000 .IR c :
1001 .RS
1002 .IP b
1003 block (buffered) special
1004 .IP c
1005 character (unbuffered) special
1006 .IP d
1007 directory
1008 .IP p
1009 named pipe (FIFO)
> 1010 .IP f
1011 regular file
1012 .IP l
1013 symbolic link; this is never true if the
1014 .B \-L
1015 option or the
1016 .B \-follow
1017 option is in effect, unless the symbolic link is broken. If you want
1018 to search for symbolic links when
1019 .B \-L
1020 is in effect, use
1021 .BR \-xtype .
1022 .IP s
1023 socket
1024 .IP D
1025 door (Solaris)
1026 .RE
1027 .IP
1028 To search for more than one type at once, you can supply the combined list of
```
Oder in der Anzeige der Manpage:
```
1006 einem Skript benutzen oder in einer Situation sind, in der die gefundenen Dateien beliebige N
1006 amen
1007 haben können, sollten Sie in Betracht ziehen -print0 anstelle von -print benutzen.
1008
1009 Die Aktionen -ok und -okdir geben den aktuellen Dateinamen unverändert aus. Dies könnte sich in eine
1009 m
> 1010 späteren Release ändern.
1011
1012 STANDARDKONFORMITÄT
1013 Für größtmögliche Konformität zum POSIX-Standard, sollten Sie die Umgebungsvariable POSIXLY_CORRECT 1013 set‐
1014 zen. Die folgenden Optionen sind im POSIX-Standard (IEEE Std 1003.1-2008, 2016 Edition) spezifiziert 1014 :
1015
1016 -H Diese Option wird unterstützt.
1017
1018 -L Diese Option wird unterstützt.
```
Ist dieses Problem bekannt und gibt es bereits Lösungen oder Workarounds? Ich werde jetzt langsam müde, vielleicht kommt jemand von Euch in der Sache weiter. Ich bin gerne bereit, weitere Informationen bereitzustellen, falls das helfen kann.
Regards
Bernd |