Wie kann ich XML von stdin (z. B. von xmllint --format
) an stdout markieren ?
Ich weiß, wie man das Hervorheben in nano
und view
zum Laufen bringt, aber gibt es etwas, das nur an stdout ausgegeben und beendet wird?
Was ich verlinken würde, ist einfach so etwas einzugeben
xmllint --format xmlfile.xml | some-highlighter
oder vielleicht für große Dateien
xmllint --format xmlfile.xml | some-highlighter | less
und schöne Ausgabe bekommen.
command-line
xml
syntax-highlighting
Sietse
quelle
quelle
-O encoding=UTF-8
, damit er auf der Ausgabe von xmllint funktioniert . Vielen Dank!apt-get install buffer
). ZBxmllint --format foo.xml |pygmentize -g |buffer |less -r
sudo apt install python-pygments
installiert.So machen Sie es mit GNU Source-Highlight und weniger:
quelle
source-highlight -s xml -f esc
esc256
esc
source-highlight
sehr langsam ausgeführt. Wahrscheinlich wird die Eingabe zeilenweise analysiert. Dieser Befehl gab mir gute, schnelle Ergebnisse:xmllint --format - < input.xml | source-highlight -f esc -s xml | less -F
less -r
(wie in der Antwort angegeben) anstattless -F
.Ich habe in Homebrew für OSX ein Highlight gefunden und bin mir sicher, dass es im Ubuntu-Repository verfügbar ist. Es wird in einer Reihe von Formaten hervorgehoben und ausgegeben, einschließlich der Terminalausgabe.
quelle
pbpaste|xmllint --format -|highlight --out-format=ansi --syntax=xml
hat den Trick für mich gemacht. (Ich könnte jedoch über die Farbauswahl von Highlight streiten.)