Как выделить XML из стандартного ввода (например, по каналу xmllint --format
) в стандартный вывод?
Я знаю, как заставить подсветку работать в nano
и view
, но есть ли что-то, что просто выводит на стандартный вывод и выходит?
То, что я хотел бы сделать, это просто напечатать
xmllint --format xmlfile.xml | some-highlighter
или, может быть, для больших файлов
xmllint --format xmlfile.xml | some-highlighter | less
и получить красивый выходной.
-O encoding=UTF-8
заставить его работать на выходе xmllint. Благодарность!apt-get install buffer
). Напримерxmllint --format foo.xml |pygmentize -g |buffer |less -r
sudo apt install python-pygments
для установки.Вот как вы делаете это, используя GNU source-highlight и менее:
источник
source-highlight -s xml -f esc
esc256
производит болееesc
source-highlight
работать очень медленно. Вероятно, он разбирает входные данные построчно. Эта команда дала мне хорошие, быстрые результаты:xmllint --format - < input.xml | source-highlight -f esc -s xml | less -F
less -r
вместо (как указано в ответе)less -F
.Я нашел основной момент в Homebrew для OSX, и я уверен, что он доступен в репозитории Ubuntu. Это делает выделение и вывод в несколько форматов, включая вывод терминала.
источник
pbpaste|xmllint --format -|highlight --out-format=ansi --syntax=xml
сделал трюк для меня. (Тем не менее, я могу поспорить по поводу выбора цвета.)