我的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
答案 0 :(得分:0)
如果要将所有.tar
文件从一个目录复制到另一个目录,
尝试一下:
find *.tar | xargs -I '{}' cp '{}' test/
'test/'
是您的目标目录。
希望这会有所帮助。
请注意:xargs
标志是大写i。