¿Puede `cat` mostrar archivos usando marcas de código en colores?

A veces, rápidamente quiero ver el contenido de un archivo desde la línea de comandos. Para esto, por supuesto, uso cat , pero a menudo son archivos de origen en Python , Java o HTML simple. Para estos archivos sería útil si cat pudiera darle un marcado de color a los archivos, para que se lea más fácilmente.

¿Puede el cat hacer tal cosa?

cat no es capaz de hacer esto. Sin embargo, tal vez los pigmeos puedan ayudarte. Es un script de python y puede instalarse a través de apt-get

 sudo apt-get install python-pygments 

o fácilmente descargado e instalado a través de easy_install.

Soporta muchos lenguajes de código fuente y también lenguajes de marcas.

Es utilizado por

 pygmentize -g  

No del cat sí, pero puedes usar algo como fuente resaltado o supercat o resaltar

Fuente resaltada

Este progtwig, dado un archivo fuente, produce un documento con resaltado de syntax. También proporciona una biblioteca de resaltado de C ++ (nueva) (desde la versión 3.0).

Source-highlight lee las especificaciones de los idiomas de origen dinámicamente, por lo que se puede extender fácilmente (sin volver a comstackr los orígenes) para manejar nuevos idiomas. También lee las especificaciones de formato de salida dinámicamente, y por lo tanto puede extenderse fácilmente (sin volver a comstackr las fonts) para manejar nuevos formatos de salida. La syntax de estas especificaciones es bastante sencilla (consulte el manual).

El manual de instalación:

Vea el archivo INSTALAR para obtener instrucciones detalladas de construcción e instalación; de todos modos, si está acostumbrado a comstackr software de Linux que viene con fonts, simplemente puede seguir el procedimiento habitual, es decir, descomprimir el archivo que descargó en un directorio y luego:

  cd  ./configure make make install 

Super gato

Esta es la página de inicio de Supercat. Supercat es un progtwig que colorea el texto basándose en expresiones / cadenas / caracteres regulares coincidentes. Supercat admite la salida html así como el texto ASCII estándar. A diferencia de algunos progtwigs de coloración de texto que existen, Supercat no requiere que usted tenga que ser un progtwigdor para establecer reglas de colorización.

Si ha escrito un archivo de configuración de supercat para un tipo de archivo estándar, no dude en contactarme en “bug-spc (at) nosredna (dot) net” para una posible inclusión en la distribución de supercat.

  • Aquí hay una página de ejemplo del trabajo de Supercat en emerge.log de Gentoo

  • Instalación / archivo fuente (tar.gz)

  • Ejemplo de archivo de configuración

O con una función ( fuente ):

 #!/bin/bash#!/bin/bash if [ ! -t 0 ];then file=/dev/stdin elif [ -f $1 ];then file=$1 else echo "Usage: $0 code.c" echo "or eg head code.c|$0" exit 1 fi pygmentize -f terminal -g $file 

Requiere: Pygments ( sudo apt-get install python-pygments python3-pygments ) sudo apt-get install python-pygments python3-pygments como una función para destrozar .funciones y asígnele un nombre como color ()

A partir de esta respuesta, puedes usar los paquetes python-pygments para resaltar cosas. Primero haz:

 sudo apt-get install python-pygments python3-pygments 

entonces:

 pygmentize -g FILENAME 

entonces prueba

introduzca la descripción de la imagen aquí

También puedes configurarlo como un alias, como en la respuesta que vinculé, básicamente, ejecuta esto:

 echo "alias catc='pygmentize -g'" >> ~/.bash_aliases chmod +x ~/.bash_aliases 

Cierre el terminal, ábralo nuevamente, y el comando catc debería funcionar ahora; si no lo hace, asegúrese de que estas líneas estén en el archivo .bashrc y que no estén comentadas:

 if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi 

Otra cosa sería simplemente usar nano :

 nano testfile 

introduzca la descripción de la imagen aquí

man view o man vim

Uso básico: view

Salir:: :q (agregue una primero si usa vim ), o ZZ (z mayúscula dos veces).

El editor de texto del progtwigdor vim tiene todo lo que necesita, y probablemente ya sea parte de su sistema.

vim tiene un modo de solo lectura activado con view o vim -R . Si todo lo que quieres hacer es ver el archivo marcado, debería ser suficiente.

Fácil de usar, navegable, disponible en todas partes. No hay necesidad de meterse con la instalación de un nuevo software o escribir scripts de bash.

cat no puede producir resaltado de syntax únicamente. Aún así puedes hacer esto de la siguiente manera, usando python-pygments . Primero instálelo desde el terminal como,

 sudo apt-get install python-pygments 

Ahora copia la función debajo de ~/.bashrc . Le dará lo que quiere, además, preservará las propiedades del cat contrario no tiene sentido usarlo.

 catc(){ cat "$@" > /tmp/.tmp pygmentize -g /tmp/.tmp rm /tmp/.tmp } 

Fuente ~/.bashrc como,

 . ~/.bashrc 

Dará salida colorizada,

 catc  

También concatenará con el color,

 catc   ...  

Uno puede ver ccat .

Añade resaltado de syntax a los archivos de salida.

Otras respuestas cubren por qué el cat no puede hacerlo. Aunque puedes hacerlo con menos usando lesspipe.sh .