我试图在目录中搜索所有wsdl文件,然后将它们复制到另一个位置。现在我使用xargs
,因为如果我理解正确,它会接受一个命令的输出并将其用作管道命令的参数。但是,我不断收到提示,文件不是目录,因此命令失败。我对linux很新,所以也许有人可以告诉我为什么会这样,以及如何解决它?
这是我的命令:
find VMware-vSphere-SDK-5.5.0-1284541/ -iname "*.wsdl" | xargs cp -i '{}' /home/jaayers
继续扔这个:
cp: target ‘VMware-vSphere-SDK-5.5.0-1284541/SDK/eam/wsdl/eam.wsdl’ is not a directory
修改
所以将命令改为
find VMware-vSphere-SDK-5.5.0-1284541/ -iname "*.wsdl" | xargs cp -i {} -t /home/jaayers
将复制文件,但仍会打印此消息
cp: cannot stat ‘{}’: No such file or directory
所以尽管它正在做我想做的事情,但我认为它不是实现所需功能的正确方法,也许有人可以提出一个更好的方法来实现这个目标?
答案 0 :(得分:0)
你必须在文件夹内,或者给出我认为的绝对路径" /home/user/VMware-vSphere-SDK-5.5.0-1284541 /"