我需要定期将文件从一组特定的源子目录(其中的100个)复制到“平面”目录结构中,即我希望来自多个源目录中的所有文件位于单个目标目录中。似乎无法找到可以查看源子目录的复制方法,并且复制不会在目标目录中重新创建子目录文件夹结构的文件。
任何帮助表示感谢。
答案 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中的任何文件或子目录的名称都包含空格,则无效。