Bagaimana saya bisa menyorot XML dari stdin (mis. Disalurkan dari xmllint --format
) ke stdout?
Saya tahu bagaimana cara menyorot bekerja di nano
dan view
, tetapi apakah ada sesuatu yang hanya keluaran ke stdout dan keluar?
Apa yang saya tautkan hanya mengetikkan sesuatu seperti
xmllint --format xmlfile.xml | some-highlighter
atau mungkin, untuk file besar
xmllint --format xmlfile.xml | some-highlighter | less
dan dapatkan hasil yang cantik.
command-line
xml
syntax-highlighting
Sietse
sumber
sumber
-O encoding=UTF-8
untuk membuatnya berfungsi pada output xmllint. Terima kasih!apt-get install buffer
). Misalnyaxmllint --format foo.xml |pygmentize -g |buffer |less -r
sudo apt install python-pygments
menginstalnya.Ini adalah bagaimana Anda melakukannya menggunakan GNU source-highlight dan lebih sedikit:
sumber
source-highlight -s xml -f esc
esc256
menghasilkan output yang lebih cantik daripadaesc
source-highlight
berjalan sangat lambat. Mungkin parsing input baris demi baris. Perintah ini memberi saya hasil yang baik dan cepat:xmllint --format - < input.xml | source-highlight -f esc -s xml | less -F
less -r
(sebagaimana dinyatakan dalam jawaban) bukanless -F
.Saya menemukan highlight di Homebrew untuk OSX, dan saya yakin itu tersedia di repositori Ubuntu. Itu menyoroti dan output ke sejumlah format, termasuk output terminal.
sumber
pbpaste|xmllint --format -|highlight --out-format=ansi --syntax=xml
melakukan trik untukku. (Tapi saya bisa berdebat tentang pilihan warna highlight.)