49 votes

Est-ce que `cat` peut afficher les fichiers utilisant du code en couleurs ?

Il m'arrive parfois de vouloir visualiser rapidement le contenu d'un fichier à partir de la ligne de commande. Pour cela, j'utilise bien sûr cat mais il s'agit souvent de fichiers sources dans Python , Java ou simple HTML . Pour ces fichiers, il serait utile que cat pourrait donner des couleurs aux fichiers, afin que la lecture soit plus aisée.

Peut cat faire une telle chose ?

54voto

Joel Spolsky Points 22686

cat n'est pas en mesure de le faire. Cependant, il se peut que le pygments pourra peut-être vous aider. Il s'agit d'un script qui peut être installé via apt-get

sudo apt-get install python-pygments

ou facilement téléchargée et installée via easy_install.

Il prend en charge de nombreux codes sources langues ainsi que les langages de balisage

Il est utilisé par

pygmentize -g <filename>

19voto

Rinzwind Points 270388

Pas de cat mais vous pouvez utiliser quelque chose comme source highlite ou supercat o mettre en évidence

Mise en évidence de la source

Ce programme, à partir d'un fichier source, produit un document avec mise en évidence de la syntaxe. Il fournit également une bibliothèque de mise en évidence C++ (nouveau) (depuis la version 3.0).

Source-highlight lit les spécifications du langage source de manière dynamique, ce qui lui permet d'être facilement étendu (sans recompiler les sources) pour gérer de nouveaux langages. Il lit également les spécifications du format de sortie de manière dynamique, ce qui lui permet d'être facilement étendu (sans recompiler les sources) pour gérer de nouveaux formats de sortie. La syntaxe de ces spécifications est assez simple (voir le manuel).

Le manuel d'installation :

Voir le fichier INSTALL pour des instructions détaillées de construction et d'installation ; de toute façon, si vous avez l'habitude de compiler des logiciels Linux fournis avec les sources, vous pouvez simplement suivre la procédure habituelle, c'est-à-dire décompresser le fichier que vous avez téléchargé dans un répertoire, puis.. :

 cd <source code main directory>
 ./configure
 make
 make install

Supercat

Ceci est la page d'accueil de Supercat. Supercat est un programme qui colore le texte en fonction des expressions régulières, des chaînes de caractères et des caractères correspondants. Supercat prend en charge les sorties html ainsi que le texte ASCII standard. Contrairement à d'autres programmes de coloration de texte, Supercat n'exige pas que vous soyez un programmeur pour créer des règles de coloration.

Si vous avez écrit un fichier de configuration supercat pour un type de fichier standard, n'hésitez pas à me contacter à "bug-spc (at) nosredna (dot) net" pour une éventuelle inclusion dans la distribution supercat.

Ou avec un fonction ( source ):

#!/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 e.g. head code.c|$0"
        exit 1
fi
pygmentize -f terminal -g $file

Nécessaire : Pygments ( sudo apt-get install python-pygments python3-pygments ) Ajoutez-la en tant que fonction dans bash .functions et donnez-lui un nom comme color()

16voto

Wilf Points 28034

D'après cette réponse aquí vous pouvez utiliser la fonction python-pygments paquets pour mettre en évidence des éléments. Première chose à faire :

sudo apt-get install python-pygments python3-pygments

ensuite :

pygmentize -g FILENAME

alors essayez :

enter image description here

Vous pouvez également le définir comme un alias, comme dans la réponse que j'ai mise en lien - en gros, exécutez ceci :

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

Fermez le terminal, ouvrez-le à nouveau, et le catc devrait maintenant fonctionner - si ce n'est pas le cas, assurez-vous que ces lignes se trouvent dans le fichier .bashrc et ne sont pas commentés :

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

Une autre solution consisterait à utiliser simplement nano :

nano testfile

enter image description here

7voto

a different ben Points 353

man view o man vim

Utilisation de base : view <filename>

Démissionner : :q<Return> (ajouter un <Esc> d'abord si l'on utilise vim ), ou ZZ (z majuscule deux fois).

L'éditeur de texte du programmeur vim contient déjà tout ce dont vous avez besoin et fait probablement déjà partie de votre système.

vim a un mode lecture seule activé avec view o vim -R . Si tout ce que vous souhaitez, c'est visualiser le fichier marqué, cela devrait suffire.

Simple à utiliser, navigable, disponible partout. Pas besoin d'installer de nouveaux logiciels ou d'écrire des scripts.

4voto

Alan Dong Points 141

On peut consulter ccat .

Il ajoute une coloration syntaxique aux fichiers de sortie.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X