Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从unix中的不同目录复制文件_Unix_Sunos - Fatal编程技术网

从unix中的不同目录复制文件

从unix中的不同目录复制文件,unix,sunos,Unix,Sunos,我的unix操作系统版本是 SunOS 5.11 11.3 sun4v sparc sun4v 我有这样的目录结构 ./XYZ_002/DIR2/XYZ DIR DIR/Software Library/TAR Files/TAR5240_5_0.tar.Z ./XYZ_001/DIR1/XYZ DIR DIR/Software Library/TAR Files/XYZ_4_0.tar.Z ./ABC_002/Software Library/TAR Files/tar_3_0.tar.Z

我的unix操作系统版本是

SunOS 5.11 11.3 sun4v sparc sun4v
我有这样的目录结构

./XYZ_002/DIR2/XYZ DIR DIR/Software Library/TAR Files/TAR5240_5_0.tar.Z
./XYZ_001/DIR1/XYZ DIR DIR/Software Library/TAR Files/XYZ_4_0.tar.Z
./ABC_002/Software Library/TAR Files/tar_3_0.tar.Z
./ABC_001/Software Library/TAR Files/tar_file_1_0.tar.Z
我正在使用下面的命令将所有.tar.Z文件复制到当前目录

find . -name '*tar.Z' -exec cp . {} +
但是,我在运行该命令时遇到以下错误

cp: Target ./ABC_001/Software Library/TAR Files/tar_file_1_0.tar.Z must be a directory
Usage: cp [-f] [-i] [-p] [-@] [-/] f1 f2
  cp [-f] [-i] [-p] [-@] [-/] f1 ... fn d1
  cp -r|-R [-H|-L|-P] [-f] [-i] [-p] [-@] [-/] d1 ... dn-1 dn
我已经看了下面的网址,但它们不适合我

可能是因为文件夹名称中有空格,所以出现了此错误? 有什么办法可以解决这个问题吗

注意:我用-t选项做了cp,但得到了下面的错误

  mymachine> find . -name '*tar.Z' -exec cp -t . {} +
    cp: illegal option -- t
    Usage: cp [-f] [-i] [-p] [-@] [-/] f1 f2
   cp [-f] [-i] [-p] [-@] [-/] f1 ... fn d1
   cp -r|-R [-H|-L|-P] [-f] [-i] [-p] [-@] [-/] d1 ... dn-1 dn

如果要将所有
.tar
文件从一个目录复制到另一个目录

试试这个:

find *.tar | xargs -I '{}' cp '{}' test/
其中,
“test/”
是您的目标目录

希望这有帮助

注意:
xargs
标志是大写字母i