【发布时间】:2011-08-04 17:15:01
【问题描述】:
我尝试将 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(如果可能的话)
【问题讨论】:
-
"svn: No such file or directory" 听起来你还没有安装 Subversion。
svn --version返回什么? -
除了l0b0的解决方案,这是unix.stackexchange.com的问题
-
啊!我安装了 kdesvn,效果非常好。我认为 kdesvn 会依赖于 svn,但它不是,因此没有安装 subversion。所以现在和 xargs 工作正常!谢谢 l0b0 :s
-
@Jurian Sluiman:如果错误消息告诉你它找不到'svn',你为什么认为xargs 不能完全按照它的设计来做?调试的第一条规则:假设错误信息是真实的。
-
@Bryan:
xargs使用文件作为输入参数(find生成的列表)所以当找不到 file 时,我连接此文件未找到错误到作为参数给出的文件列表。所以我不判断错误信息,我只是尝试将其转换为可能的原因。