¿Cómo puedo resaltar XML de stdin (por ejemplo, canalizado desde xmllint --format
) a stdout?
Sé cómo hacer resaltar trabajando en nano
y view
, pero ¿hay algo que solo salga a stdout y salga?
Lo que me gustaría vincular es simplemente escribir algo como
xmllint --format xmlfile.xml | some-highlighter
o tal vez, para archivos grandes
xmllint --format xmlfile.xml | some-highlighter | less
y obtener una salida bonita.
command-line
xml
syntax-highlighting
Sietse
fuente
fuente
-O encoding=UTF-8
de hacerlo funcionar en la salida de xmllint. ¡Gracias!apt-get install buffer
). Por ejemploxmllint --format foo.xml |pygmentize -g |buffer |less -r
sudo apt install python-pygments
instalarlo.Así es como lo haces usando GNU source-highlight y menos:
fuente
source-highlight -s xml -f esc
esc256
produce una salida más bonita queesc
source-highlight
ejecute muy lentamente. Probablemente está analizando la entrada línea por línea. Este comando me dio buenos y rápidos resultados:xmllint --format - < input.xml | source-highlight -f esc -s xml | less -F
less -r
(como se indica en la respuesta) en lugar deless -F
.Encontré lo más destacado en Homebrew para OSX, y estoy seguro de que está disponible en el repositorio de Ubuntu. Destaca y genera varios formatos, incluida la salida de terminal.
fuente
pbpaste|xmllint --format -|highlight --out-format=ansi --syntax=xml
hizo el truco para mí (Sin embargo, podría discutir sobre las opciones de color del resaltado.)