自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在 Linux 命令行中格式化輸出 xml

系統(tǒng) Linux
我們先前分享過(guò)一篇關(guān)于在命令行中格式化輸出 json 文件的文章,今天我們?cè)賮?lái)分享一下如何在命令行中格式化輸出 xml。

xml(可擴(kuò)展標(biāo)記語(yǔ)言)也是一種人類可讀的標(biāo)記語(yǔ)言,但是如同 json 文件一樣,沒(méi)有縮進(jìn)格式(或者壓縮)的 xml 文件,讀起來(lái)那是挺頭疼的。

首先來(lái)看一下我們這篇文章要達(dá)到的目的,如下圖所示:

圖片

要實(shí)現(xiàn)這種效果,我們總結(jié)了三種方法。作為演示的例子,我們使用如下文件 email.xml:?

<emails> <email> <from>Sagar</from> <to>Milan</to> <time>2022-10-14</time><subject>Writing a lot these days</subject></email> <email><from>Sagar</from> <to>Arvind</to> <time>2022-10-13</time> <subject>Heyy, send me the Goa pictures ASAP!</subject></email> </emails>

方法1:使用 xmllint 格式化打印 xml

xmllint 工具提供了 --format 選項(xiàng),可以讓用戶重新格式化 xml 文件。如下語(yǔ)法所示:

xmllint

比如,作為演示,我們使用 email.xml:

xmllint --format email.xml

圖片

格式化輸出,默認(rèn)縮進(jìn)兩個(gè)空格。如果想要修改為更多的空格(比如4個(gè)空格),可以使用環(huán)境變量 XMLLINT_INDENT。

比如,我們使用 email.xml 作為例子,使其縮進(jìn)為 4 個(gè)空格:

XMLLINT_INDENT="    "

圖片

結(jié)合前一個(gè)例子,大家可以看到區(qū)別嗎?

方法2:使用 XMLStarlet 工具包

XMLStarlet 提供了一組命令,分別用于不同的目的。其中涉及到了 xml 命令,可以通過(guò)該命令來(lái)執(zhí)行與 xml 文件相關(guān)的操作。

但是在使用之前,需要手動(dòng)安裝,如下所示:

sudo

要格式化輸出 xml,需要使用 xml 命令的 format 選項(xiàng),如下所示:

xml format email.xml

圖片

另外,它還提供了一些其他的選項(xiàng),如下:

  • -n 不添加空格,結(jié)果類似于文本向左對(duì)齊;
  • -t 使用 tab 鍵輸出以提高可讀性;
  • -o 省略 xml 生命,除了在文件的頂部添加 <?xml versinotallow=”1.0″?>;
  • -s 添加任意數(shù)量的空格。

比如,我們使用 fo 添加 6 個(gè)空格來(lái)格式化輸出 xml 文件:

xml fo -s 6 email.xml

圖片

方法3:使用 xml_pp 命令

這個(gè)方法不是很靈活,因?yàn)?xml_pp Perl 的一個(gè)模塊,名為 XML::Twig

它不會(huì)輸出內(nèi)容,但是會(huì)直接修改源文件。

它在使用之前,同樣需要手動(dòng)安裝。如果你使用的是基于 Debian 的系統(tǒng),可使用如下命令:

sudo apt install xml-twig-tools

比如,我們使用 record 模式來(lái)格式化輸出 email.xml:

圖片

這里,-i 選項(xiàng)用于在原始文件中進(jìn)行更改,同時(shí)用于附加擴(kuò)展名。

-s 選項(xiàng)用于使用樣式選項(xiàng),這里我使用了 record。

責(zé)任編輯:龐桂玉 來(lái)源: TIAP
相關(guān)推薦

2022-12-30 08:30:28

Linux命令行json

2019-08-08 14:47:07

Linux命令行JSON

2009-07-28 03:39:00

ItemTemplat

2021-07-29 10:00:43

XMLXMLStarletLinux

2023-04-11 10:37:40

bash命令printf

2009-07-27 16:46:07

DetailsView

2021-07-15 13:32:12

Linux生成密碼

2021-07-15 13:25:43

LinuxPDF

2020-11-01 20:00:26

命令行ShellLinux

2010-10-14 10:03:45

MySQL命令行

2024-01-08 22:03:22

python代碼開(kāi)發(fā)

2014-09-11 10:33:06

Linux

2019-05-21 10:38:17

Linux命令行

2021-07-12 14:53:27

LinuxGmail電子郵件

2011-03-07 15:01:42

MySQLXML數(shù)據(jù)

2010-07-16 16:00:08

Perl格式化輸出

2010-09-01 14:23:54

Linux命令行開(kāi)發(fā)

2009-12-24 14:51:39

Linux命令行

2010-07-16 15:44:57

Perl格式化輸出

2010-07-16 15:23:34

Perl格式化輸出
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)