如何找到然后复制找到的文件,linux

时间:2014-08-25 17:55:52

标签: linux wsdl

我试图在目录中搜索所有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

所以尽管它正在做我想做的事情,但我认为它不是实现所需功能的正确方法,也许有人可以提出一个更好的方法来实现这个目标?

1 个答案:

答案 0 :(得分:0)

你必须在文件夹内,或者给出我认为的绝对路径" /home/user/VMware-vSphere-SDK-5.5.0-1284541 /"