我的磁盘非常混乱,许多文件夹中有许多图像。如何仅将所有扩展名为 .jpg 的文件复制到另一个磁盘到单个目录中?可能有很多同名的图像,但我想保留它们,例如,只需在末尾添加另一个数字即可。
答案1
我建议不使用 ,而是与该命令结合进行mc
一些工作:bash
find
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
命令将递归地下降到源树中。
这将保留来自不同目录的具有相同文件名的文件,因为每个目标文件名都会添加一个计数器以使其唯一。