Xargs 不听 stdin
我尝试向所有现有的 *.php 和 *.phtml 文件添加 svn:keywords 属性。因此,我使用这个命令:
find . -regex '.*\.php' -o -regex '.*\.phtml'|xargs svn propset svn:keywords "Id"
这应该根据 Mateusz Loskot,将属性添加到所有文件。如果我运行 find 。 -regex '.*\.php' -o -regex '.*\.phtml'
,找到所有文件,但 xargs 返回此消息:xargs:svn:没有这样的文件或目录
。
我还尝试导出找到的列表 (>> ~/temp
) 并使用 xargs -a
从文件输入中读取参数,但没有成功。如何更新我的所有 php 文件?
附言。我使用 Kubuntu Linux Natty (11.04),它内置了 bash 4.2.8 和 xargs 4.4.2 (如果这可能重要的话)
I try to add an svn:keywords property to all existing *.php and *.phtml files. Therefore, I use this command:
find . -regex '.*\.php' -o -regex '.*\.phtml'|xargs svn propset svn:keywords "Id"
This should, according to Mateusz Loskot, add the property to all files. If I run find . -regex '.*\.php' -o -regex '.*\.phtml'
, all files are found but xargs returns this message: xargs: svn: No such file or directory
.
I also tried to export the found list (>> ~/temp
) and use xargs -a
to read the arguments from a file input, without success. How can I update all my php files?
PS. I use Kubuntu Linux Natty (11.04), which has built in bash 4.2.8 and xargs 4.4.2 (if that might matter)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你的命令看起来没问题。似乎 xargs 在 PATH 中找不到 svn 命令。验证它是否可用或使用完整文件路径(
which svn
应显示svn
的完整路径)。为了防止文件名中出现空格问题,我建议
find
使用-print0
参数,对于建议使用
-0
参数xargs:Your command looks ok. It seems that
xargs
cannot findsvn
command inPATH
. Verify that it is available or use full file path (which svn
should display full path tosvn
).To prevent spaces in file name issue I would recommend
-print0
argument forfind
and-0
forxargs
:您可以在这里尝试常用的技巧,例如:
You can try the usual tricks here, such as: