Parfois, je souhaite rapidement afficher le contenu d'un fichier à partir de la ligne de commande. Bien sûr cat
, je l'utilise pour cela , mais il s'agit souvent de fichiers sources en Python , Java ou en HTML simple . Pour ces fichiers, il serait pratique de cat
pouvoir attribuer un balisage de couleur aux fichiers, afin qu’ils se lisent plus facilement.
Peut cat
faire une telle chose?
cat -v
considérée comme nuisible .Réponses:
cat
n'est pas capable de faire cela. Cependant, peut-être que pygments pourra vous aider. C'est un script python et peut être installé via apt-getou facilement téléchargés et installés via easy_install.
Il supporte beaucoup de langages de code source et aussi de langages de balisage
Il est utilisé par
la source
pygmentize -g <filename>
, le-g
commutateur est important pour gérer le fichier sans lexer. Par exemple, si vous essayez/etc/fstab
d'ouvrir sans,-g
cela échouera.pygmentize --help
Si-g
est passé, essayez de deviner le lexer à partir du contenu du fichier ou passez sous forme de texte brut si cela échoue (cela peut fonctionner pour stdin).funced cat... type pygmentize -g $argv... save..funcsave cat
.bashrc
j'ai ajouté:command -v pygmentize >/dev/null 2>&1 && alias cat='pygmentize -g'
Pas de
cat
lui - même , mais vous pouvez utiliser quelque chose comme highlite source ou supercat ou fortOu avec une fonction ( source ):
Requis: Pygments (
sudo apt-get install python-pygments python3-pygments
) Ajoutez-le en tant que fonction à bash .functions et donnez-lui un nom tel que color ()la source
A partir de cette réponse ici , vous pouvez utiliser les
python-pygments
paquets pour mettre en évidence des choses. D'abord faire:puis:
alors essayez:
Vous pouvez également le définir comme un alias, comme dans la réponse que j'ai liée - en gros, lancez ceci:
Fermez le terminal, ouvrez-le à nouveau et la
catc
commande devrait maintenant fonctionner - si ce n'est pas le cas, assurez-vous que ces lignes sont dans le.bashrc
fichier et ne sont pas commentées:Une autre chose serait simplement d'utiliser
nano
:la source
man view
ouman vim
Utilisation de base:
view <filename>
Quitter:
:q<Return>
(ajoutez un<Esc>
premier si vous utilisezvim
), ouZZ
(z deux fois en majuscule).L'éditeur de texte du programmeur
vim
a 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é avecview
ouvim -R
. Si tout ce que vous voulez faire, c'est visualiser le fichier balisé, cela devrait suffire.Simple à utiliser, navigable, disponible partout. Pas besoin de perdre son temps avec l'installation d'un nouveau logiciel ou l'écriture de scripts bash.
la source
vim
ouview
, vous devez simplement lui fournir le fichier :,view file.py
il n'y a donc pas de différencecat
. Bien sûr, vous avez besoin de le fermer, mais vraiment,:q<Return>
ouZZ
ne sont pas des tâches difficiles.On peut vérifier ccat .
Il ajoute la coloration syntaxique aux fichiers de sortie.
la source
cat
ne peut pas produire la coloration syntaxique uniquement. Vous pouvez toujours le faire comme suit, en utilisantpython-pygments
. Tout d'abord l'installer depuis le terminal en tant que,Maintenant, copiez la fonction ci-dessous
~/.bashrc
. Il vous donnera ce que vous voulez et en plus il préservera les propriétés decat
sinon il n'y a aucun intérêt à utilisercat
Source en
~/.bashrc
tant que,Il donnera une sortie colorisée,
Il va concaténer avec la couleur aussi bien,
la source
pygmentize?
Je l'ouvre à l'aide d'une commande du formulairexterm -e "pygmentize -g <filename>"
et découvre que le seul moyen de faire défiler consiste à utiliser la barre de défilement. J'ai essayé de canaliser la sortie versless
mais cela a abouti à une sortie de déchets.pygmentize
avec moins. Créez une fonction bashlessc
comme suit:lessc () { pygmentize -gf terminal "$1" | less -R }
Bat - Un clone de chat avec des ailes
Vous pouvez également vouloir vérifier
bat
qui a les caractéristiques suivantes:less
cat
immédiat de la redirectionAperçu
Photo prise depuis le GitHub officiel
Installation
Vous pouvez obtenir le dernier paquet Debian ici et l'installer avec:
Adapter le numéro de version et l'architecture.
la source
D'autres réponses couvrent pourquoi
cat
n'est pas capable de le faire. Bien que vous puissiez le faire avec moins en utilisant lesspipe.sh .la source
Plutôt que d'installer un package tiers, vous pouvez simplement utiliser
gedit
pour afficher rapidement un fichier avec une coloration syntaxique. Par exemple, copiez la barre d’adresse ci-dessus et collez-la dans votre terminal:Vous verrez cette question en HTML avec des couleurs formatées:
gedit
touches de navigation familièrescat
ce qui ne nécessite pas de frappe au clavier.la source