如何使用 mc 将所有图像从磁盘复制到单个目录

如何使用 mc 将所有图像从磁盘复制到单个目录

我的磁盘非常混乱,许多文件夹中有许多图像。如何仅将所有扩展名为 .jpg 的文件复制到另一个磁盘到单个目录中?可能有很多同名的图像,但我想保留它们,例如,只需在末尾添加另一个数字即可。

答案1

我建议不使用 ,而是与该命令结合进行mc一些工作:bashfind

id=0; 
s=.jpg; 
while read f; do 
    cp $f targetdir/$(basename $f $s)$((id+=1))$s
done < <(find sourcedir -name '*'$s)

或者,作为一句:

id=0;s=.jpg;while read f; do cp $f targetdir/$(basename $f $s)$((id+=1))$s; done < <(find sourcedir -name '*'$s)

替换sourcedir为源目录树的根目录,以及targetdir要将文件复制到的所需目标目录。该find命令将递归地下降到源树中。

这将保留来自不同目录的具有相同文件名的文件,因为每个目标文件名都会添加一个计数器以使其唯一。

相关内容