Comment puis-je mettre en évidence XML de stdin (par exemple, canalisé depuis xmllint --format
) vers stdout?
Je sais comment mettre en surbrillance le travail dans nano
et view
, mais y a-t-il quelque chose qui sort simplement vers la sortie standard et quitte?
Ce que je voudrais faire, c'est simplement taper quelque chose comme
xmllint --format xmlfile.xml | some-highlighter
ou peut-être, pour les gros fichiers
xmllint --format xmlfile.xml | some-highlighter | less
et obtenir une jolie sortie.
-O encoding=UTF-8
de le faire fonctionner sur la sortie de xmllint. Merci!apt-get install buffer
). Par exemplexmllint --format foo.xml |pygmentize -g |buffer |less -r
sudo apt install python-pygments
installais.Voici comment vous le faites en utilisant GNU source-highlight et moins:
la source
source-highlight -s xml -f esc
esc256
que la sortie est plus jolie queesc
source-highlight
s'exécutera très lentement. Il analyse probablement l'entrée ligne par ligne. Cette commande m'a donné de bons résultats rapides:xmllint --format - < input.xml | source-highlight -f esc -s xml | less -F
less -r
(comme indiqué dans la réponse) au lieu deless -F
.J'ai trouvé un point culminant dans Homebrew pour OSX, et je suis sûr qu'il est disponible dans le référentiel Ubuntu. Il fait la mise en évidence et la sortie dans un certain nombre de formats, y compris la sortie du terminal.
la source
pbpaste|xmllint --format -|highlight --out-format=ansi --syntax=xml
a fait l'affaire pour moi. (Cependant, je pourrais discuter des choix de couleurs des