我尝试将 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 文件?
附言。我使用 Kubuntu Linux Natty (11.04),它内置了 bash 4.2.8 和 xargs 4.4.2(如果这可能重要的话)
最佳答案
您的命令看起来没问题。似乎 xargs
在 PATH
中找不到 svn
命令。验证它是否可用或使用完整文件路径(which svn
应显示 svn
的完整路径)。
为了防止文件名中的空格问题,我建议-print0
参数用于find
和-0
参数xargs
:
find . -name '\*.php' -o -name '\*.phtml' -print0 | xargs -0 svn propset svn:keywords "Id"
关于linux - Xargs 不听标准输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6925635/