Farklı desen dosya adına sahip klasördeki birden fazla dosyayı yeniden adlandırın


0

7000 klasörüm var ve her klasörde bunun gibi farklı bir desen var:

klasör 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

klasör 2:

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

Örneğin, 111070117_3_pernyataan_orisinalitas.pdf - 111070117_disclaimer.pdf , vb.

Ancak ne yazık ki , XXXdiven_3_pernyataan_orisinalitas.pdf dosyası her zaman 3 değildir . Bazen 5 veya 3 veya başka bir şey olabilir. Tüm dosya adlarının altını çizdikten sonra aynı sayıya sahip olması daha kolay olacağını düşünüyorum. Bu yüzden kaderimi yakalamak için 2 adımda yapılması gerektiğini düşünüyorum.

  1. adlandırmak 111070117_3_pernyataan_orisinalitas.pdf için 111070117_pernyataan_orisinalitas.pdf tüm klasörlerden.
  2. adlandırmak 111070117_pernyataan_orisinalitas.pdf için 111070117_disclaimer.pdf .

Şimdi 1. adımda sıkışıp kaldım, altını çizdikten sonra bir sayı çıkarmam gerekiyor. Herhangi bir öneriniz lütfen?

Yanıtlar:


0

Bu yeniden adlandırma perl betiğini kullanmanızı öneririm : http://www.cyberciti.biz/files/perl/rename.pl.txt Indirin sonra perl üzerinden çalıştırın, şunun gibi:

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

Birden fazla klasör içeren çalışma örneği.
Önce:

$ ls folder*
folder1:
111070117_3_pernyataan_orisinalitas.pdf

folder2:
111040117_7_pernyataan_orisinalitas.pdf

Komut:

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

Sonra:

$ ls folder*
folder1:
111070117_disclaimer.pdf

folder2:
111040117_disclaimer.pdf

Tabii ki, perl'in kurulu olduğunu varsayalım.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.