3 votos

Recuperar la página de manual formateada desde la línea de comandos

Intento exportar la página manual de grep a grep.txt

    $ man grep > ~/desktop/grep.txt

Apareció en un código confuso:

            GREP(1)                   BSD General Commands Manual                  GREP(1)

            NNAAMMEE
                 ggrreepp, eeggrreepp, ffggrreepp, zzggrreepp, zzeeggrreepp, zzffggrreepp -- file pattern searcher

            SSYYNNOOPPSSIISS
                 ggrreepp [--aabbccddDDEEFFGGHHhhIIiiJJLLllmmnnOOooppqqRRSSssUUVVvvwwxxZZ] [--AA _n_u_m] [--BB _n_u_m] [--CC[_n_u_m]]

¿Cómo obtener una página de manual formateada desde la línea de comandos?

0 votos

En las respuestas a las preguntas se ofrecen otros métodos de conversión de páginas manuales: "Cómo utilizar la aplicación Terminal para buscar o imprimir una página de manual" y "¿Se pueden convertir las páginas de manual a formato html y/o pdf?" .

5voto

user3439894 Puntos 5883

Puede utilizar lo siguiente ejemplo de comando para obtener una salida de texto plano formateado para una página manual:

man grep | col -bx > ~/Desktop/grep.txt

Produce, por ejemplo:

GREP(1)                   BSD General Commands Manual                  GREP(1)

NAME
     grep, egrep, fgrep, zgrep, zegrep, zfgrep -- file pattern searcher

SYNOPSIS
     grep [-abcdDEFGHhIiJLlmnOopqRSsUVvwxZ] [-A num] [-B num] [-C[num]]
          [-e pattern] [-f file] [--binary-files=value] [--color[=when]]
          [--colour[=when]] [--context[=num]] [--label] [--line-buffered]
          [--null] [pattern] [file ...]

Para automatizar el uso de, por ejemplo man grep | col -bx > ~/Desktop/grep.txt comando en Terminal para que puedas escribir, por ejemplo mant grep u otros comando se puede envolver en un función bash colocado en su .bash_profile archivo .

Normalmente prefiero tener mis páginas manuales en Formato PDF sin embargo he modificado el manp función bash Yo uso en mi .bash_profile archivo para trabajar en texto sin formato como, mant .

Para las páginas de manual de texto plano:

function mant () 
{ 
    mpdir="$HOME/Documents/Manual Pages"
    [[ ! -d $mpdir ]] && mkdir -p "$mpdir"
    if [[ ! -z $1 ]]; then
        if [[ ! -f $mpdir/$1.txt ]]; then
            man "$1" | col -bx > "$mpdir/$1.txt"
            open -e "$mpdir/$1.txt"
        else
            open -e "$mpdir/$1.txt"
        fi
    else
        printf '  Error: Missing argument!...\n  Syntax: mant command_name\n  Example: mant man\n'
    fi
}

Para las páginas del manual en PDF:

function manp () 
{ 
    mpdir="$HOME/Documents/Manual Pages"
    [[ ! -d $mpdir ]] && mkdir -p "$mpdir"
    if [[ ! -z $1 ]]; then
        if [[ ! -f $mpdir/$1.pdf ]]; then
            man -t "$1" | pstopdf -i -o "$mpdir/$1.pdf"
            open "$mpdir/$1.pdf"
        else
            open "$mpdir/$1.pdf"
        fi
    else
        printf '  Error: Missing argument!...\n  Syntax: manp command_name\n  Example: manp man\n'
    fi
}

Para añadir uno o ambos funciones bash mostrado arriba a su .bash_profile archivo , en Terminal utilice lo siguiente comando :

nano "$HOME/.bash_profile"

A continuación, copie y pegue el función(es) en el .bash_profile archivo y luego guardar el archivo y salir nano pulsando las siguientes teclas:

  • Control + X
  • Y
  • Enter

Cierre y vuelva a abrir el Terminal aplicación, no sólo la ventana, y ya está listo para funcionar.

Para la página manual por defecto en Terminal Por ejemplo:

man grep

Para una página de manual de un archivo de texto plano, por ejemplo

mant grep

Para una página de manual de un archivo PDF, por ejemplo

manp grep

Con la funciones bash si existe un archivo para el comando no existe ya, se crea y se abre. Si el archivo del comando ya existe, simplemente se abre. De este modo, podrá acceder fácilmente a la página del manual de la forma que desee mientras esté en Terminal .

Si desea colocar los archivos en una ubicación diferente, entonces cambie el camino parte de la siguiente línea de código según corresponda:

mpdir="$HOME/Documents/Manual Pages"

El resto de la código dentro se tokeniza para utilizar $mpdir para la ubicación del archivos .


Como nota al margen, si sólo quiere la página completa del manual para un determinado comando En un Terminal que es fácilmente desplazable en su totalidad, puede hacer lo siguiente...

Sólo hay que teclear el nombre del comando por sí mismo, luego haga clic con el botón derecho del ratón y seleccione: Abrir la página del hombre

Esto es mejor que escribir, por ejemplo man grep y presionando enter porque es totalmente desplazable y no es necesario navegar usando secuencias de teclas como se define en el less comando Utilidad utilizada como localizador por man .

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X