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

时间:2018-06-06 08:55:24

标签: 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
./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

我查看了以下网址,但他们没有为我工作

Copying files from different directory to common directory

https://askubuntu.com/questions/342692/how-to-copy-files-from-multiple-directories

也许,我收到此错误,因为文件夹名称中有空格? 任何想法如何解决?

注意:我使用-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

1 个答案:

答案 0 :(得分:0)

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

尝试一下:

find *.tar | xargs -I '{}' cp '{}' test/

'test/'是您的目标目录。

希望这会有所帮助。

请注意:xargs标志是大写i。