尝试使用 xmllint 来验证一堆 XML。
我使用命令: xmllint --noout --schema MySchema.xsd dir/*.xml
这将向标准输出打印每个文件的列表以及它是否已验证或失败。我希望修剪此列表并仅显示那些无法验证的文件。
我习惯于在标准输出上做一个管道 grep 来过滤结果。例如,如果我执行 ls | grep "config" 它将仅列出名称中带有 config 的那些文件。
但由于某种原因,执行上述命令后跟 | grep "失败" 或 | grep -v "validates" 对减少扔到控制台标准输出的(大量)文本行数没有任何影响。无论如何都会提供完整列表
就好像 xmllint 的输出不是管道的有效输入。