我怎样才能将 XML 从 stdin (例如通过管道xmllint --format
)突出显示到 stdout?
我知道如何在nano
和中使突出显示工作view
,但是是否有仅输出到标准输出并退出的东西?
我想要做的就是输入类似
xmllint --format xmlfile.xml | some-highlighter
或者对于大文件
xmllint --format xmlfile.xml | some-highlighter | less
并获得漂亮的输出。
答案1
答案2
这就是你使用的方法GNU 源代码突出显示更少:
源突出显示 -i /tmp/foo.xml -f esc | less -r
答案3
我发现强调在 Homebrew for OSX 中,我相信它在 Ubuntu 存储库中可用。它可以突出显示并输出为多种格式,包括终端输出。
答案4
您可以尝试我的命令行工具 xmq (https://libxmq.org) 以漂亮的打印和语法突出显示 XML 和 HTML。请注意,它以 XMQ 格式呈现 XML/HTML/JSON,这更易于阅读和编辑。但是 XMQ 和 XML 之间存在 1-1 映射。该工具对于分析大型 xml 和 html 文件非常有用。
xmq 工具还包括一个终端寻呼机:
xmq xmlfile.xml page
该工具还可以呈现为临时 html 文件,该文件会自动在您的默认浏览器中查看:
xmq xmlfile.xml browse
它从终端背景颜色(浅色或深色)中选择配色方案,但您可以覆盖它:
XMQ_BG=dark xmq xmlfile.xml browse
XMQ_BG=light xmq xmlfile.xml browse
它也可以在管道中工作:
curl https://slashdot.org | xmq delete //script delete //style page
除了删除 xpath 匹配的节点之外,还有其他命令可以转换为 xmq/xml/html/json 并将转换应用于内容。