我想以递归的方式找到每个" 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
我想我错过了一些简单的事情......谢谢,先进。
答案 0 :(得分:1)
警告这两个显然都会在问题中提出的转换中覆盖xml。
使用xargs,您想要执行类似
的操作find . -name foo.xml -print0 | xargs -I {} -0 xsltproc -o {} transform.xsl {}
或-exec
find . -name foo.xml -exec xsltproc -o {} transform.xsl {} \;