我有 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.pdf到111070117_免责声明.pdf,ETC。
但不幸的是文件XXXXXXXXX_3_pernyataan_orisinalitas.pdf并不总是3. 有时可能会5或者3或者其他的。我认为如果所有文件名下划线后面都有相同的数字会更容易。所以我认为要抓住我的命运应该分两步进行。
- 改名111070117_3_pernyataan_orisinalitas.pdf到111070117_pernyataan_orisinalitas.pdf来自所有文件夹。
- 改名111070117_pernyataan_orisinalitas.pdf到111070117_免责声明.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。