Como posso destacar XML de stdin (por exemplo, canalizado de xmllint --format
) para stdout?
Eu sei como obter destaque trabalhando no nano
e view
, mas há algo que apenas gera saídas para stdout e sai?
O que eu gostaria de fazer é digitar algo como
xmllint --format xmlfile.xml | some-highlighter
ou talvez, para arquivos grandes
xmllint --format xmlfile.xml | some-highlighter | less
e obter uma saída bonita.
command-line
xml
syntax-highlighting
Sietse
fonte
fonte
-O encoding=UTF-8
de fazê-lo funcionar na saída do xmllint. Obrigado!apt-get install buffer
). Exemploxmllint --format foo.xml |pygmentize -g |buffer |less -r
sudo apt install python-pygments
instalá-lo.É assim que você faz isso usando o GNU source-highlights e menos:
fonte
source-highlight -s xml -f esc
esc256
produz uma saída mais bonita do queesc
source-highlight
executado muito lentamente. Provavelmente está analisando a entrada linha por linha. Este comando me deu bons resultados rápidos:xmllint --format - < input.xml | source-highlight -f esc -s xml | less -F
less -r
(como indicado na resposta) em vez deless -F
.Encontrei destaque no Homebrew for OSX e tenho certeza que está disponível no repositório Ubuntu. Destaca e envia para vários formatos, incluindo saída do terminal.
fonte
pbpaste|xmllint --format -|highlight --out-format=ansi --syntax=xml
fez o truque para mim. (Eu poderia argumentar sobre opções de cores de destaque, no entanto.)