我有两个带有按顺序编号的文件的文件夹。文件夹“ Originals”包含所有文件,但文件夹“ Modified”中缺少一些文件。有没有一种方法可以使用bash将“已修改”文件夹中缺少的内容从“原始”文件夹复制到新文件夹中?文件的内容和文件名不同,但文件名的末尾编号相关。
这些文件是使用Imagemagick修改过的视频中的静态图像-.png-。十个文件夹各包含15000张图像,由于使用Imagemagick处理时出错,每个“已修改”文件夹中约有100张不规则丢失。
Originals:
xy_abc_00000.png
xy_abc_00001.png
xy_abc_00002.png
.
.
xy_abc_15000.png
Modified:
zz_def_00000.png
zz_def_00002.png
.
.
zz_def_14999.png
list="$(diff <(ls -X Originals | sed "s:^.*[^0-9]\([0-9]*.png\)$:\1:") \
<(ls -X Modified | sed "s:^.*[^0-9]\([0-9]*.png\)$:\1:"))"
for file in $(grep "^<" <<<"$list" | cut -d" " -f2); do
cp Originals/xy_abc_$file Modified/zz_def_$file
done
不太优雅,会在名称上加上空格,但是仍然适合OP帖子中描述的任务。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句