衡阳派盒市场营销有限公司

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次閱讀
    澳门百家乐送彩金| 百家乐官网5式直缆打法| 大发888游戏场下载| 闲和庄百家乐官网赌场娱乐网规则| 淘金百家乐现金网| 淘宝皇冠网店| 百家乐象棋赌博| 百家乐官网超级市场| 百家乐官网娱乐分析软| 易胜博国际娱乐| 视频百家乐官网攻略| 百家乐官网现金网排名| 鼎龙国际娱乐城| 娱网棋牌游戏大厅下载| 大发888官方 46| 大发888下载大发888娱乐城| 环球百家乐娱乐城| 百家乐薯片| 百家乐投注庄闲法| 至尊百家乐下载| 百家乐AG| 蓝盾百家乐平台租用| 太阳城百家乐口诀| 百家乐网络赌博地址| 澳门百家乐庄闲和| 百家乐十赌九诈| 神州百家乐的玩法技巧和规则| 免水百家乐的玩法技巧和规则 | 真人斗地主| 利博娱乐城| 百家乐官网赢的技巧| 百家乐官网博彩安全吗| 百家乐官网扑克多少张| 百家乐官网赌博器| 24山风水发几房| 百家乐玩法既规则| 百家乐怎么押钱| 武汉百家乐庄闲和| 威尼斯人娱乐城 2013十一月九问好| 黄金岛棋牌游戏下载| 大发888怎么提款|