0

我尝试将 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(如果这可能重要的话)

4

2 回答 2

1

你的命令看起来不错。似乎在. xargs_ 验证它是否可用或使用完整文件路径(应显示完整路径)。svnPATHwhich svnsvn

为了防止文件名问题中出现空格,我建议使用-print0forfind-0for参数xargs

find . -name '\*.php' -o -name '\*.phtml' -print0 | xargs -0 svn propset svn:keywords "Id"
于 2011-08-04T09:15:01.113 回答
0

您可以在这里尝试通常的技巧,例如:

find ... | while read i ; do svn propset svn:keywords Id "$i" ; done
于 2011-08-03T11:28:33.813 回答