linux - Xargs 不听标准输入

标签 linux bash xargs ubuntu

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

最佳答案

您的命令看起来没问题。似乎 xargsPATH 中找不到 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/

相关文章:

linux - bash 脚本中的 ssh "port 22: no route to host"错误

java - 线程中出现异常 "main"java.lang.UnsatisfiedLinkError : no swt-pi-gtk-3139 in java. library.path

c++ - 为什么 long int 不是 100% 准确?

environment-variables - 努力在 bash 中取消设置环境变量

bash - 如何使用 sshpass 和单个 ssh 登录正确地迭代列表

linux - 使用 xargs 删除目录

c++ - 使用带有 --extract-all 的 xgettextt 处理复数

bash - 如何查找两个列表之间的校验和匹配(但不在两个列表内)?

linux - 缺少统计操作数

bash - 将curl与gnu-parallel或xarg结合使用,在bash中循环访问端口1-65535