繁体   English   中英

Xargs不听stdin

[英]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(如果可能的话)

您的命令看起来不错。 似乎xargsPATH找不到svn命令。 验证它是否可用或者使用完整的文件路径( which svn应显示完整路径svn )。

为了防止在文件名问题的空间 ,我会建议-print0为了论证find-0xargs

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM