我需要从目录中移动所有文件,丢弃目录结构。
不幸的是,有些文件有相同的文件名(缩略图)。我正在寻找类似这样的文件:
find /tmp/dirtree -type f -exec mv -i {} . \;
如何防止在此过程中覆盖较大的文件?
答案1
创建mymv.pl
Perl 脚本:
#!/usr/bin/perl
use File::Copy;
$file = shift;
($name = $file) =~ s#.*/##;
if (-f $name and -s $file < -s $name) {
warn "$name not moved";
} else {
move($file, $name);
}
然后,将行更改为
find /tmp/dirtree -type f -exec perl mymv.pl {} \;