Jetez un oeuil � la commande col(1)
, col
peut enlever ces caract�res d'effacement. Pour les impatients,
voici la commande :
$ groff -t -e -mandoc -Tascii manpage.1 | col -bx> manpage.txt
Les options -t
et -e
disent � groff
d'utiliser les pr�processeurs tbl
et eqn
.
C'est inutile pour les pages de manuel ne n�cessitant pas de
pr�processeur mais cela ne g�ne pas, si ce n'est une surcharge
du processeur. D'un autre c�t�, ne pas utiliser -t
alors qu'il est n�cessaire fera que les tableaux seront tr�s
mal format�s. Vous pourrez m�me trouver ("deviner" serait un
terme plus exact) la commande n�cessaire pour traiter tel ou
tel document groff (pas uniquement des pages de manuel) par le
biais de grog
:
$ grog /usr/man/man7/signal.7
groff -t -man /usr/man/man7/signal.7
En fait, grog
signifie "GROff Guess", et cet outil
fait bien ce qu'il dit (en anglais, guess = deviner...) : il tente de
deviner la commande n�cessaire pour formater un document groff
en fonction de son contenu. S'il �tait parfait, nous n'aurions
jamais plus besoin d'options. Mais s'il arrive qu'il d�termine
un mauvais jeu de macros, je ne l'ai par contre jamais
vu se tromper sur les pr�processeurs � employer.
Voici un petit script Perl r�alis� par l'auteur de ce document, qui peut supprimer les en-t�tes et les pieds de page, ce qui permet de gagner quelques longueurs de papier lorsque l'on imprime de longues et complexes pages de manuel. Sauvez-le dans un fichier nomm� strip-header et mettez-le en mode 755.
#!/usr/bin/perl -n
# pour qu'il avale tout le fichier en une seule fois:
undef $/;
# on enleve les sauts de page:
s/\n{4}\S.{50,}\n{6}\S.{50,}\n{3}/\n/g;
# le premier en-tete et le dernier pied de page:
s/\n\S.{50,}\n//g;
# transorme deux ou plus lignes vides consecutives en une seule:
s/\n{3,}/\n\n/g;
# et voila ce qui reste...
print;
Il faut appeler ce programme en tant que premier filtre apr�s la comande man, car il se base sur le nombre de sauts de ligne issus de groff. Par exemple :
$ man bash | strip-headers | col -bx> bash.txt
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:31