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' manaide de l' outil. En regardant man man, je vois que vous pouvez changer le programme utilisé pour afficher les pages de manuel avec le -Pdrapeau comme ceci:
man -P cat command_name
Il ne vaut également rien qui mandé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
manalias à 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.txtva 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 troffdes fichiers pré-traités, et vous pouvez accéder au texte brut avec,
groff -t -e -mandoc -Tascii manpage.1 | col -bx > manpage.txt
groffest 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.txta travaillé pour moi. Je vous remercie.
Utilisez simplement la mancommande - vous pouvez diriger la sortie vers d’autres choses, tout comme catpour un fichier.