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

  • 本文关键字:复制 文件 UNIX 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

我看过下面的网址,但它们对我不起作用

将文件从不同目录复制到公共目录

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

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

试试这个:

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

其中'test/'是目标目录。

希望这有帮助。

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

相关内容

  • 没有找到相关文章

最新更新