我尝试将svn:keywords属性添加到所有现有的* .php和* .phtml文件中。因此,我使用此命令:
find . -regex '.*\.php' -o -regex '.*\.phtml'|xargs svn propset svn:keywords "Id"
根据Mateusz Loskot,这应该将属性添加到所有文件中。如果我运行find . -regex '.*\.php' -o -regex '.*\.phtml'
,则会找到所有文件,但xargs会返回此消息:xargs: svn: No such file or directory
。
我还尝试导出找到的列表(>> ~/temp
)并使用xargs -a
从文件输入中读取参数,但没有成功。如何更新我的所有php文件?
PS。我使用的是Kubuntu Linux Natty(11.04),它内置了bash 4.2.8和xargs 4.4.2(如果这可能很重要)
答案 0 :(得分:1)
您的命令看起来不错。似乎xargs
在svn
中找不到PATH
命令。验证它是否可用或使用完整文件路径(which svn
应显示svn
的完整路径。)
要阻止文件名问题中的空格,我建议-print0
使用find
参数,-0
推荐xargs
:
find . -name '\*.php' -o -name '\*.phtml' -print0 | xargs -0 svn propset svn:keywords "Id"
答案 1 :(得分:0)
您可以尝试常用的技巧,例如:
find ... | while read i ; do svn propset svn:keywords Id "$i" ; done