使用不同的模式文件名重命名文件夹中的多个文件

使用不同的模式文件名重命名文件夹中的多个文件

我有 7000 个文件夹,每个文件夹都有不同的模式,如下所示:

文件夹 1:

111070290_10_daftar_tabel.pdf
111070290_11_daftar_istilah.pdf
111070290_12_bab_1.pdf
111070290_13_bab_2.pdf
111070290_14_bab_3.pdf
111070290_15_bab_4.pdf
111070290_16_bab_5.pdf
111070290_17_daftar_pustaka.pdf
111070290_18_lampiran.pdf
111070290_1_cover.pdf
111070290_2_lembar_pernyataan_orisinalitas.pdf
111070290_3_lembar_pengesahan.pdf
111070290_4_abstrak.pdf
111070290_5_abstract.pdf
111070290_6_lembar_persembahan.pdf
111070290_7_kata_pengantar.pdf
111070290_8_daftar_isi.pdf
111070290_9_daftar_gambar.pdf

文件夹2:

111070117_1_cover.pdf
111070117_2_lembar_pernyataan_orisinalitas.pdf
111070117_3_lembar_pengesahan.pdf
111070117_4_abstrak.pdf
111070117_5_abstract.pdf

我必须重命名一些文件,例如111070117_3_pernyataan_orisinalitas.pdf111070117_免责声明.pdf,ETC。

但不幸的是文件XXXXXXXXX_3_pernyataan_orisinalitas.pdf并不总是3. 有时可能会5或者3或者其他的。我认为如果所有文件名下划线后面都有相同的数字会更容易。所以我认为要抓住我的命运应该分两步进行。

  1. 改名111070117_3_pernyataan_orisinalitas.pdf111070117_pernyataan_orisinalitas.pdf来自所有文件夹。
  2. 改名111070117_pernyataan_orisinalitas.pdf111070117_免责声明.pdf

现在我卡在第 1 步,我需要删除下划线后面的数字。有什么建议吗?

答案1

我建议你使用这个改名perl 脚本:http://www.cyberciti.biz/files/perl/rename.pl.txt 下载它然后通过 perl 运行,如下所示:

perl /path/to/rename.pl 's/([0-9]{9})_[0-9]_pernyataan_orisinalitas/$1_disclaimer/' *.pdf

以下是包含多个文件夹的工作示例。
之前:

$ ls folder*
folder1:
111070117_3_pernyataan_orisinalitas.pdf

folder2:
111040117_7_pernyataan_orisinalitas.pdf

命令:

$ perl rename.pl 's/([0-9]{9})_[0-9]_pernyataan_orisinalitas/$1_disclaimer/' folder*/*.pdf

后:

$ ls folder*
folder1:
111070117_disclaimer.pdf

folder2:
111040117_disclaimer.pdf

当然,我认为你已经安装了 perl。

相关内容