吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

CHANBAEK ? 來源:TIAP ? 作者:TIAP ? 2023-01-12 17:37 ? 次閱讀

我們先前分享過一篇關于在命令行中格式化輸出 json 文件的文章,今天我們再來分享一下如何在命令行中格式化輸出 xml。

xml(可擴展標記語言)也是一種人類可讀的標記語言,但是如同 json 文件一樣,沒有縮進格式(或者壓縮)的 xml 文件,讀起來那是挺頭疼的。

首先來看一下我們這篇文章要達到的目的,如下圖所示:

圖片

要實現這種效果,我們總結了三種方法。 作為演示的例子,我們使用如下文件 email.xml:

<emails> <email> <from>Sagarfrom> <to>Milanto> <time>2022-10-14time>
<subject>Writing a lot these dayssubject>email> <email>
<from>Sagarfrom> <to>Arvindto> <time>2022-10-13time> <subject>Heyy, send me the Goa pictures ASAP!subject>
email> emails>

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

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

xmllint --format XML_FILE

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

xmllint --format email.xml

圖片

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

比如,我們使用 email.xml 作為例子,使其縮進為 4 個空格:

XMLLINT_INDENT="    " xmllint --format email.xml

圖片

結合前一個例子,大家可以看到區別嗎?

方法2:使用 XMLStarlet 工具包

XMLStarlet 提供了一組命令,分別用于不同的目的。 其中涉及到了 xml 命令,可以通過該命令來執行與 xml 文件相關的操作。

但是在使用之前,需要手動安裝,如下所示:

sudo snap install xmlstarlet

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

xml format email.xml

圖片

另外,它還提供了一些其他的選項,如下:

  • -n 不添加空格,結果類似于文本向左對齊;
  • -t 使用 tab 鍵輸出以提高可讀性;
  • -o 省略 xml 生命,除了在文件的頂部添加 ;
  • -s 添加任意數量的空格。

比如,我們使用 fo 添加 6 個空格來格式化輸出 xml 文件:

xml fo -s 6 email.xml

圖片

方法3:使用 xml_pp 命令

這個方法不是很靈活,因為 xml_pp 是 Perl 的一個模塊,名為 XML::Twig。

它不會輸出內容,但是會直接修改源文件。

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

sudo apt install xml-twig-tools

比如,我們使用 record 模式來格式化輸出 email.xml:

圖片

這里,-i 選項用于在原始文件中進行更改,同時用于附加擴展名。

-s 選項用于使用樣式選項,這里我使用了 record。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11345

    瀏覽量

    210391
  • XML
    XML
    +關注

    關注

    0

    文章

    188

    瀏覽量

    33140
  • 格式化
    +關注

    關注

    2

    文章

    39

    瀏覽量

    9143
  • 文件
    +關注

    關注

    1

    文章

    570

    瀏覽量

    24822
  • 命令行
    +關注

    關注

    0

    文章

    78

    瀏覽量

    10420
收藏 人收藏

    評論

    相關推薦

    請問如何在代碼里執行命令行啊?

    請問如何在代碼里執行命令行啊?比如,在命令行可以執行echo abcdefg aaa.txt生成一個aaa.txt。那么如何在程序中執行 echo abcdefg aaa.txt 這一
    發表于 10-28 10:15

    caxa命令行中的應用

    caxa命令行中的應用 命令行對于大多用戶來說往往只是輸入數據的作用,但是其中的奧妙還有很多,下面就給大家
    發表于 10-18 18:18 ?2321次閱讀

    linux 命令行使用技巧

    我們每天使用許多Linux命令行。我們從網上知道一些技巧,但如果我們不去練習,我們就有可能忘記。我決定做一個關于技巧和竅門的列表,這些技巧和竅門對于你來說可能是已經忘記的,或者可能是全新的。 輸出
    發表于 09-28 15:54 ?0次下載
    <b class='flag-5'>linux</b> <b class='flag-5'>命令行</b>使用技巧

    能提高效率的Linux命令行技巧

    巧妙的 Linux 命令行技巧能讓你節省時間、避免出錯,還能讓你記住和復用各種復雜的命令,專注在需要做的事情本身,而不是你要怎么做。以下介紹一些好用的命令行技巧。
    的頭像 發表于 02-02 17:39 ?2144次閱讀
    能提高效率的<b class='flag-5'>Linux</b><b class='flag-5'>命令行</b>技巧

    Linux 命令行教程好書推薦

    今天跟大家推薦個 Linux 命令行教程:《The Linux Command Line》,中文譯名:《Linux 命令行大全》。 該書作者
    的頭像 發表于 02-14 09:25 ?1513次閱讀

    何在Linux使用pidof命令

    `pidof`是一個命令行程序,可讓您找到正在運行程序的進程ID。在教程中,我們將說明如何在Linux 使用pidof命令
    的頭像 發表于 12-05 17:01 ?2389次閱讀

    Linux命令行與shell腳本編寫

    Linux命令行與shell腳本編寫
    發表于 01-11 16:50 ?4次下載

    何在Linux命令行中運行Python腳本

    Python 腳本。 在本文中,我們將詳細介紹如何在 Linux 命令行中運行 Python 腳本。我們將討論以下主題:
    的頭像 發表于 05-12 14:49 ?1757次閱讀

    linux命令行與shell編程實戰

    Linux命令行與Shell編程實戰主要涉及以下內容: Linux命令行基礎:學習Linux命令行
    的頭像 發表于 11-08 10:57 ?838次閱讀

    linux虛擬機怎么調出命令行

    Linux虛擬機中調出命令行界面,可以通過以下步驟實現: 打開虛擬機,進入到Linux系統。 在桌面或應用菜單中找到終端或命令行圖標,點擊打開。 輸入
    的頭像 發表于 11-08 11:28 ?3200次閱讀

    linux切換到命令行模式

    Linux中,可以通過以下步驟切換到命令行模式: 打開終端。可以在應用菜單中找到終端或命令行終端。 在終端中輸入命令“exit”或“logout”,然后按回車鍵。 系統會提示您輸入管
    的頭像 發表于 11-13 16:47 ?1848次閱讀

    linux虛擬機怎么調出命令行

    Linux虛擬機是一種模擬運行Linux操作系統的虛擬環境,它可以在Windows、Mac、Linux等主機系統上運行。在Linux虛擬機中,你可以通過終端或
    的頭像 發表于 11-17 09:55 ?3844次閱讀

    linux命令行運行步驟

    運行Linux命令行涉及以下步驟: 打開終端 在Linux系統中,打開命令行界面的方式有多種,最常見的是打開終端應用程序。可以在應用程序菜單中找到終端,點擊打開。 熟悉
    的頭像 發表于 11-17 10:18 ?861次閱讀

    總結linux命令行的主要用法

    Linux命令行是一種在Linux操作系統中通過文本界面來執行指令和管理系統的方式。它提供了豐富的功能和靈活性,幫助用戶完成各種任務。本文將詳細介紹Linux
    的頭像 發表于 11-17 10:19 ?724次閱讀

    idea如何輸入命令行參數

    在許多軟件開發和系統管理的任務中,我們經常需要向應用程序傳遞命令行參數。命令行參數是在運行時傳遞給程序的值,用于指定程序的行為和配置選項。本文將詳細介紹如何在不同的編程語言和操作系統中輸入命令
    的頭像 發表于 12-06 15:01 ?1237次閱讀
    百家乐扎金花斗地主| 百家乐投注网出租| 赌场百家乐官网信誉| 大发888古怪猴子| 永利高百家乐怎样开户| 澳门百家乐官网上下限| 大发888官方网页| 澳门百家乐会出千吗| 新百家乐官网庄闲路单图记录| 博坊娱乐| 玩百家乐有何技巧| 巴比伦百家乐官网的玩法技巧和规则| 百家乐官网娱乐城体育| 大发888官方中文网址| MG百家乐大转轮| 免邮百家乐官网布桌| 赌百家乐官网大小点桌| 皇冠百家乐| 百家乐优惠现金| 百家乐官网专业术语| 网上百家乐官网看牌器| 赌博游戏网站| 百家乐任你博娱乐场开户注册| 缅甸百家乐论坛| 王牌百家乐官网的玩法技巧和规则 | 足球.百家乐投注网出租| 百家乐投注办法| 百家乐官网园百乐彩| 澳门百家乐官网如何算| 百家乐官网代理打| 网上百家乐官网信誉| 网上百家乐官网有假的吗| 百家乐官网金海岸娱乐| 百家乐官网庄的概率| TT百家乐官网现金网| 百家乐官网玩法的技巧| 百家乐官网赢钱好公式| 百家乐官网下注所有组合| 百家乐官网是哪个国家| 哪个百家乐官网网站最大| 太阳城百家乐官网娱乐开户 |