¿Cómo puedo 'cat' una página de manual como 'cat' un archivo para obtener solo un volcado de los contenidos?
¿Cómo puedo 'cat' una página de manual como 'cat' un archivo para obtener solo un volcado de los contenidos?
Respuestas:
En primer lugar, los archivos man generalmente son solo archivos de texto gziped en algún lugar de su sistema de archivos. Dado que su kilometraje variará al encontrarlos y probablemente deseaba la versión procesada y formateada que le da man en lugar de la fuente, puede volcarlos con la man
herramienta. Al mirar man man
, veo que puede cambiar el programa utilizado para ver páginas de manual con la -P
bandera como esta:
man -P cat command_name
Tampoco vale nada que man
detecte automáticamente cuándo canaliza su salida en lugar de verlo en la pantalla, por lo que si va a procesarlo con otra cosa, puede saltar directamente a ese paso de la siguiente manera:
man command_name | grep search_string
o volcar a un archivo:
man command_name > formatted_man_page.txt
man
alias a algo o banderas forzadas en tu shell que separan tu función de la normal man
?
man command_name > formatted_man_page.txt
causará alguna palabra duplicada.
Para obtener un archivo de página de manual ASCII, sin los molestos intentos de subrayado / subrayado de subrayado, y secuencias extrañas para hacer negrita:
man ksh | col -b > ksh.txt
Las páginas de manual suelen ser troff
archivos preprocesados, y puede acceder al texto sin formato con,
groff -t -e -mandoc -Tascii manpage.1 | col -bx > manpage.txt
groff
es un contenedor para troff
.
Es posible que primero necesite usar gzip para descomprimir los archivos de la página de manual, y aún tendrá mucha información de formato en la salida.
Hago esto todo el tiempo. Esta línea de comando me hace feliz:
man man | col -bx > man.txt
col -b elimina los espacios de retroceso.
col -bx también reemplaza las pestañas con espacios, que es mi gran preferencia.
Si quiero que el texto se formatee al ancho de mi preferencia mientras leo, entonces cambio el comando a esto:
MANWIDTH=10000 man man | col -bx > man.txt
man man | col -bx > man.txt
trabajó para mi. Gracias.
Simplemente use el man
comando: puede canalizar la salida a otras cosas tal como puede hacerlo con cat
un archivo.