¿Cómo imprimir la salida del árbol a pdf sin perder el color?

18

Utilizo el siguiente comando para imprimir una estructura de directorio en un archivo:

tree -h somepath/ > tree_of_somepath.txt

treeda una salida de color agradable en el terminal, pero como se esperaba, esto no se puede redirigir a un archivo de texto. Me gustaría imprimir el resultado treeen un archivo pdf y preservar el color.

¿Algunas ideas?

Bruni
fuente
Si no necesita el color (como lo hace el OP), aún puede obtener una salida de árbol utilizable tree -n -d --charset unicode > file. Definitivamente no es tan bonito, pero lo uso con una impresora láser monocroma cuando estoy reuniendo mis archivos de datos, etc.
Joe

Respuestas:

20
  1. Instale las siguientes dependencias:

    sudo apt-get install aha wkhtmltopdf
    
  2. Guarde la treesalida de su comando en html con aha:

    tree -C -h | aha > foo.html
    

    Desde la treepágina del manual, -Cfuerza la coloración:

        -C     Turn colorization on always, using built-in color defaults
               if the LS_COLORS environment variable is not set. Useful to
               colorize output to a pipe.
    
  3. Finalmente exporta el html a pdf con wkhtmltopdf:

    wkhtmltopdf foo.html foo.pdf
    

Ejemplo:

cd /tmp
tree -C -h | aha > foo.html
wkhtmltopdf foo.html foo.pdf
xdg-open foo.pdf

ingrese la descripción de la imagen aquí

Sylvain Pineau
fuente
Perfecto, aunque omití el - negro para ahorrar algo de tóner, cuando cae en papel;)
Bruni
@Bruni Buena idea :) Permítanme editar la respuesta
Sylvain Pineau
$ wkhtmltopdf foo.html foo.pdf wkhtmltopdf: no se puede conectar al servidor X
sree