在一个文件夹中,我有许多文件,其名称如MR000001,MR000002等,最高可达MR000070。我有很多这样的文件夹。我想将所有文件复制到一个文件夹并重命名,以便数字继续增加。例如,当复制第二批70时,我想重命名这些文件,使它们从71开始,然后转到140;在复制第三批时,我希望他们的名字从141开始,然后转到210.如何使用bash脚本完成此操作?到目前为止,我有这个:
for f in MR0000*;
do
cp "$f" "";
done
我想我应该能够用满足我想要的东西来填空,但我不知道是什么。
答案 0 :(得分:0)
一种方式:
dst_dir=where/you/want/these/files/to/end/up/
dst_filenumber=0
for src_dir in where/they/are/now/1 where/they/are/now/2 ; do
for src_filepath in "$src_dir"/MR0000* ; do
(( dst_filenumber++ ))
dst_filename="$(printf MR%06d "$dst_filenumber")"
cp "$src_filepath" "$dst_dir/$dst_filename"
done
done