xmllint:在不添加标题的情况下进行格式化

时间:2016-05-09 14:26:42

标签: bash xmllint

有没有方法可以在没有标题部分的情况下使用$xmllint --format file

<?xml version="1.0"?>
<Tag>
  <Sub>A</Sub>
</Tag>

我知道您可以使用--c14n,但这似乎与--format不能很好地融合。 由于$xmllint --format --c14n file只会产生:

<Tag><Sub>A</Sub></Tag>

期望的结果

<Tag>
  <Sub>A</Sub>
</Tag>

1 个答案:

答案 0 :(得分:1)

您可以使用sed删除第一行。不是说它是最好的,但它会让你前进:

xmllint --format <file> | sed 1d

您最好尽量避免拨打xmllint一百万次。和sed或尾巴。

我不确定xmllint是否支持就地编辑。但如果确实如此,那么这样的事情可能是可能的:

xargs < list_of_files_to_change.txt xmllint --inplace --format
xargs < list_of_files_to_change.txt sed -i 1d