【问题标题】:Format XML using command line使用命令行格式化 XML
【发布时间】:2015-12-09 15:14:36
【问题描述】:

我有一个 html 文本文件,我想对其进行格式化,以便段落始终位于同一行,例如

<p>paragraph info here</p>

而不是

<p>paragraph
info here </p>

有没有工具可以让我做到这一点

【问题讨论】:

  • sedawk 可以帮助您。
  • 令人惊讶的是,您最好的选择是使用 xml 解析器

标签: html xml bash format tidy


【解决方案1】:

您可以使用sed

 cat test.html |sed ':a;N;$!ba;s/\n/ /g' |sed 's/<\/p> /<\/p>\n/g'

在第一次运行时,它会删除所有换行符,然后在段落标记之后添加它

不清楚,但可以工作

【讨论】:

  • 那些不在

    ...

    之间的行呢?
【解决方案2】:

虽然段落总是在同一行可以通过简单地将整个文件连接到一行来满足要求,但这种解决方案不那么激进:

perl -pe 'if (/<p>/../<\/p>/) { s/\n/ / unless /<\/p>/ }' test.html

【讨论】:

    猜你喜欢
    • 2011-10-10
    • 1970-01-01
    • 1970-01-01
    • 2021-08-19
    • 2021-09-07
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多