【发布时间】:2022-04-09 21:15:53
【问题描述】:
我想递归地找到每个“foo.xml”文件,并在每个foo.xml 上应用 xslt bar.xsl 并保存原始 foo.xml。当我分别运行以下命令时,它们会起作用。
find . -name foo.xml
xsltproc -o foo.xml bar.xsl foo.xml
但是,当我通过管道传输它们时,foo.xml 没有任何反应。
find . -name foo.xml | xargs xsltproc -o foo.xml bar.xsl
【问题讨论】:
-
上面应该把
./bar.xsl应用到/some/directory/foo.xml并输出到./foo.xml。你是说这没有发生对吗? -
@BroSlow 它应该输出到 /some/directory/foo.xml (替换原始)。但否则正确,它没有发生。
-
如果将详细的
-v选项添加到xsltproc会发生什么? -
@BroSlow 详细输出看起来像是在应用转换;浏览每个模板并说出它在做什么。我认为这个问题与保存输出有关。
-
奇怪,可能把
-o的输出文件改成不存在的东西,看看有没有被创建。