У меня есть 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_disclaimer.pdf и т.д.

Но, к сожалению, файл XXXXXXXXX_3_pernyataan_orisinalitas.pdf не всегда 3. Иногда это может быть 5 или 3 или что-то еще. Я думаю, что было бы проще, если бы все имена файлов имели одинаковый номер после подчеркивания. Поэтому я думаю, чтобы поймать свою судьбу нужно сделать в 2 этапа.

  1. переименуйте 111070117_3_pernyataan_orisinalitas.pdf в 111070117_pernyataan_orisinalitas.pdf из всех папок.
  2. переименуйте 111070117_pernyataan_orisinalitas.pdf в 111070117_disclaimer.pdf.

Теперь я застрял в шаге 1, мне нужно удалить число после подчеркивания. Любое предложение, пожалуйста?

1 ответ1

0

Я бы посоветовал вам использовать этот скрипт 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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .