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

cat -vconsiderados nocivos .Respuestas:
catNo es capaz de hacer esto. Sin embargo, quizás los pigmentos puedan ayudarlo allí. Es un script de Python y se puede instalar a través de apt-geto se descarga e instala fácilmente mediante easy_install.
Admite muchos lenguajes de código fuente y también lenguajes de marcado
Es utilizado por
fuente
pygmentize -g <filename>, el-ginterruptor es importante para manejar el archivo sin lexer. por ejemplo, si intentas/etc/fstababrirlo-g, fallará.pygmentize --helpsi-gse pasa, intente adivinar el lexer del contenido del archivo, o páselo como texto sin formato si esto falla (esto puede funcionar para stdin).funced cat... type pygmentize -g $argv... save..funcsave cat.bashrcagregué:command -v pygmentize >/dev/null 2>&1 && alias cat='pygmentize -g'No desde
catsí mismo, pero se puede usar algo como punto culminante fuente o supercat o resalteO con una función ( fuente ):
Requiere: Pygments (
sudo apt-get install python-pygments python3-pygments) Agregarlo como una función para bash .functions y darle un nombre como color ()fuente
A partir de esta respuesta aquí , puede usar los
python-pygmentspaquetes para resaltar cosas. Primero haz:entonces:
entonces pruébalo:
También puede configurarlo como un alias, como en la respuesta que vinculé, básicamente, ejecute esto:
Cierre el terminal, ábralo nuevamente y el
catccomando ahora debería funcionar; si no funciona, asegúrese de que estas líneas estén en el.bashrcarchivo y que no estén comentadas:Otra cosa sería simplemente usar
nano:fuente
man viewoman vimUso básico:
view <filename>Salir:
:q<Return>(agregue un<Esc>primero si está usandovim), oZZ(mayúscula z dos veces).El editor de texto del programador ya
vimtiene todo lo que necesita y probablemente ya sea parte de su sistema.vimtiene un modo de solo lectura activado conviewovim -R. Si todo lo que quiere 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 bash
fuente
vimoviewsimplemente proporcionarle el archivo:view file.pyasí que no hay diferencia con esocat. Seguro que necesitas cerrarlo, pero en realidad,:q<Return>oZZno son tareas difíciles.Uno puede ver ccat .
Agrega resaltado de sintaxis a los archivos de salida.
fuente
catno puede producir resaltado de sintaxis únicamente. Aún así, puede hacer esto de la siguiente manera, usandopython-pygments. Primero instálalo desde la terminal como,Ahora copie la función a continuación
~/.bashrc. Le dará lo que desea, además conservará las propiedades de locatcontrario, no tiene sentido usarcatFuente
~/.bashrccomo,Dará salida coloreada,
También se concatenará con el color,
fuente
pygmentize?Lo estoy abriendo usando un comando del formularioxterm -e "pygmentize -g <filename>"y descubro que la única forma de desplazarse es usar la barra de desplazamiento. Traté de canalizar la salida a,lesspero eso resultó en la salida de basura.pygmentizecon menos. Cree una función bash de lalesscsiguiente manera:lessc () { pygmentize -gf terminal "$1" | less -R }Bat - Un clon de gato con alas
También es posible que desee comprobar
batcuál tiene las siguientes características:lesscatdirecto cuando se redirigeAvance
Foto tomada del GitHub oficial
Instalación
Puede obtener el último paquete de Debian aquí e instalarlo con:
Adaptación del número de versión y arquitectura.
fuente
Otras respuestas cubren por qué
catno puede hacerlo. Aunque puedes hacerlo con menos usando lesspipe.sh .fuente
En lugar de instalar un paquete de terceros, sólo tiene que utilizar
geditpara ver rápidamente un archivo con resaltado de sintaxis. Por ejemplo, copie la barra de direcciones de arriba y péguela en su terminal:Verá esta pregunta en HTML con colores formateados:
geditlas teclas de navegación familiarescatlo que no requiere presionar teclas para cerrar.fuente