批量XSLT转换,找到| xarg xsltproc

时间:2014-04-01 18:51:57

标签: xslt find xargs

我想以递归的方式找到每个" 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

我想我错过了一些简单的事情......谢谢,先进。

1 个答案:

答案 0 :(得分:1)

警告这两个显然都会在问题中提出的转换中覆盖xml。

使用,您想要执行类似

的操作
find . -name foo.xml -print0 | xargs -I {} -0 xsltproc -o {} transform.xsl {}

-exec

find . -name foo.xml -exec  xsltproc -o {} transform.xsl {} \;