[英]Xargs doesn't listen to stdin
我尝试将svn:keywords属性添加到所有现有的* .php和* .phtml文件中。 因此,我使用以下命令:
find . -regex '.*\.php' -o -regex '.*\.phtml'|xargs svn propset svn:keywords "Id"
根据Mateusz Loskot的说法 ,这应将属性添加到所有文件。 如果我运行find . -regex '.*\\.php' -o -regex '.*\\.phtml'
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(如果可能的话)
您的命令看起来不错。 似乎xargs
在PATH
找不到svn
命令。 验证它是否可用或者使用完整的文件路径( which svn
应显示完整路径svn
)。
为了防止在文件名问题的空间 ,我会建议-print0
为了论证find
和-0
为xargs
:
find . -name '\*.php' -o -name '\*.phtml' -print0 | xargs -0 svn propset svn:keywords "Id"
您可以在此处尝试通常的技巧,例如:
find ... | while read i ; do svn propset svn:keywords Id "$i" ; done
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.