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 cat
pudiera dar un marcado de color a los archivos, para que se lea más fácilmente.
¿Puede cat
hacer tal cosa?
cat -v
considerados nocivos .Respuestas:
cat
No 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-g
interruptor es importante para manejar el archivo sin lexer. por ejemplo, si intentas/etc/fstab
abrirlo-g
, fallará.pygmentize --help
si-g
se 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
.bashrc
agregué:command -v pygmentize >/dev/null 2>&1 && alias cat='pygmentize -g'
No desde
cat
sí 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-pygments
paquetes 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
catc
comando ahora debería funcionar; si no funciona, asegúrese de que estas líneas estén en el.bashrc
archivo y que no estén comentadas:Otra cosa sería simplemente usar
nano
:fuente
man view
oman vim
Uso 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
vim
tiene todo lo que necesita y probablemente ya sea parte de su sistema.vim
tiene un modo de solo lectura activado conview
ovim -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
vim
oview
simplemente proporcionarle el archivo:view file.py
así que no hay diferencia con esocat
. Seguro que necesitas cerrarlo, pero en realidad,:q<Return>
oZZ
no son tareas difíciles.Uno puede ver ccat .
Agrega resaltado de sintaxis a los archivos de salida.
fuente
cat
no 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 locat
contrario, no tiene sentido usarcat
Fuente
~/.bashrc
como,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,less
pero eso resultó en la salida de basura.pygmentize
con menos. Cree una función bash de lalessc
siguiente manera:lessc () { pygmentize -gf terminal "$1" | less -R }
Bat - Un clon de gato con alas
También es posible que desee comprobar
bat
cuál tiene las siguientes características:less
cat
directo 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é
cat
no puede hacerlo. Aunque puedes hacerlo con menos usando lesspipe.sh .fuente
En lugar de instalar un paquete de terceros, sólo tiene que utilizar
gedit
para 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:
gedit
las teclas de navegación familiarescat
lo que no requiere presionar teclas para cerrar.fuente