【发布时间】:2023-08-12 16:26:01
【问题描述】:
我有一个 .xls 文件,我想漂亮地打印它,以便更好地区分而不是仅仅更改二进制文件。
我的方法是unzip 这整个事情。结果字符串不包含换行符,所以我通过xmllint --format 运行它。但是在这条看似简单的道路上,我遇到了几个我已经花费了几个小时的问题:
-
unzipxml 存档中的多个文件。这会导致无效的 xml。即使使用unzip -q选项,我也会得到多个DTD,等等。 xmllint 在不格式化输入的情况下中断。unzip -c -a -q myFile.xlsx | xmllint --format - -
我尝试使用
read将 XML 拆分为一个数组,以便将每个单独的 xml 文件提供给 xmllint。在read的结果中,大多数数组项似乎是空的,第三和第四项包含 xml 字符串的 20 多个字母。IFS='\<\?xml' read -r -a files <<< "$decompressed" -
我也尝试使用
sed插入换行符,但文件大小太大,处理时间太长,无法进行差异化。${decompressed/\>\</\>\n\</g}
我的想法已经用完了,所以我决定咨询你们!提前谢谢:)
【问题讨论】:
-
小心 XY 问题。也许看看*.com/questions/114698/…?
-
请出示您的代码。
-
我添加了代码。
-
@FranzSkuffka 我会将它们解压缩到文件夹中,然后递归地对它们进行比较。检查我的答案