web-dev-qa-db-fra.com

Comment puis-je obtenir la sortie de texte brut d'un manuel dans mon terminal

Comment puis-je obtenir la sortie de texte brut d'un manuel dans mon terminal?

Je veux avoir le manuel sans un écran de type "moins" affiché.

8
user123456

Vous pouvez changer le pageur en cat en utilisant l'option -P:

man -P cat command

command est la commande d’intérêt dont vous souhaitez lire la page de manuel.

Vous pouvez également rediriger la page de manuel vers un fichier que vous pourrez ensuite ouvrir pour le lire:

man command > file
12
edwinksl

Vous pouvez lire directement les fichiers compressés (pouvant également être décompressés) manname__, résidant sous /usr/share/man/ dans les répertoires correspondant aux sections respectives.

Ainsi, par exemple, pour obtenir le contenu brut de la page mande catname__, vous devez lire /usr/share/man/man1/cat.1.gz:

zcat /usr/share/man/man1/cat.1.gz 

De même, pour man 2 fork:

zcat /usr/share/man/man2/fork.2.gz
4
heemayl

Si vous voulez un format de texte ET si vous ne voulez pas de ces "séparateurs de page" embêtants partout dans le document, voici une solution:

zcat /usr/share/man/en/man1/man.1.gz | groff -m man -rcR=1 -T ascii -

(remplacez /usr/share/man/en/man1/man.1.gz par la page de manuel que vous recherchez. Il s’agit de la page de manuel pour man (identique à: man man, mais sans les séparateurs de page)

Il y a un moyen de faire une commande man personnalisée qui fait la même chose pour vous, mais je ne peux pas le tester pour le moment ...

3
Olivier Dulac

La redirection de la sortie de man (comme suggéré dans d'autres réponses) devrait fonctionner comme prévu. man détecte que sa sortie n'est pas un tty, ce qui évite d'imprimer des caractères d'échappement appropriés qui autrement fourniraient des caractères italiques , gras et autre mise en forme.

De manière plus générale, vous pouvez utiliser col -b pour supprimer ces caractères de la sortie d'une commande. Toutes les commandes ne sont pas aussi intelligentes que man et risquent de ne pas détecter que leur sortie est redirigée. En d'autres termes, vous auriez pu faire quelque chose comme:

man command | col -b > somefile
1
Soren L. Hansen