Comment puis-je "lire" une page de manuel comme si je "mettais un chat" dans un fichier pour obtenir juste une image du contenu?
Comment puis-je "lire" une page de manuel comme si je "mettais un chat" dans un fichier pour obtenir juste une image du contenu?
Réponses:
Tout d’abord, les fichiers man ne sont généralement que des fichiers texte gzipés quelque part dans votre système de fichiers. Étant donné que votre kilométrage variera pour les trouver et que vous souhaitiez probablement la version traitée et formatée que man vous donne à la place de la source, vous pouvez simplement les vider à l' man
aide de l' outil. En regardant man man
, je vois que vous pouvez changer le programme utilisé pour afficher les pages de manuel avec le -P
drapeau comme ceci:
man -P cat command_name
Il ne vaut également rien qui man
détecte automatiquement quand vous dirigez sa sortie au lieu de l'afficher à l'écran, donc si vous allez la traiter avec quelque chose d'autre, vous pouvez passer directement à cette étape comme ceci:
man command_name | grep search_string
ou vider dans un fichier:
man command_name > formatted_man_page.txt
man
alias à quelque chose ou à des drapeaux forcés dans votre shell qui vous séparent de la fonction normale de man
?
man command_name > formatted_man_page.txt
va provoquer des doublons de mots.
Pour obtenir un fichier de page de manuel ASCII, sans les tentatives ennuyeuses de soulignement / soulignement arrière / soulignement, et d'étranges séquences pour mettre en gras:
man ksh | col -b > ksh.txt
Les pages de manuel sont généralement troff
des fichiers pré-traités, et vous pouvez accéder au texte brut avec,
groff -t -e -mandoc -Tascii manpage.1 | col -bx > manpage.txt
groff
est un wrapper pour troff
.
Vous devrez peut-être d'abord utiliser gzip pour décompresser les fichiers de la page de manuel, et vous aurez toujours beaucoup d'informations de formatage dans le résultat.
Je fais ça tout le temps. Cette ligne de commande me rend heureux:
man man | col -bx > man.txt
col -b supprime les espaces de retour.
col-bx remplace également les tabulations par des espaces, ce qui est ma grande préférence.
Si je veux que le texte soit formaté à une largeur de ma préférence lors de la lecture, alors je change la commande en ceci:
MANWIDTH=10000 man man | col -bx > man.txt
man man | col -bx > man.txt
a travaillé pour moi. Je vous remercie.
Utilisez simplement la man
commande - vous pouvez diriger la sortie vers d’autres choses, tout comme cat
pour un fichier.