Solaris将多个目录中的文件复制到一个目录中

时间:2013-12-11 15:57:19

标签: copy solaris non-recursive

我需要定期将文件从一组特定的源子目录(其中的100个)复制到“平面”目录结构中,即我希望来自多个源目录中的所有文件位于单个目标目录中。似乎无法找到可以查看源子目录的复制方法,并且复制不会在目标目录中重新创建子目录文件夹结构的文件。

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:0)

sourcedir=/root/of/subdirectory/set
destdir=/where/the/files/go

find $sourcedir -type f -print | while read file; do cp $file $destdir; done

或(防止覆盖)

find $sourcedir -type f -print | while read file; do base=$(basename $file); test -f $destdir/$base || cp $file $destdir; done

注意,如果$ sourcedir中的任何文件或子目录的名称都包含空格,则无效。