Dosyaları yeniden adlandırırken yakalama grupları yok sayılır


10

Bu biçimde birkaç dosya var:

##. ## - Dosya adı.mp4

Bunları yeniden adlandırmak istiyorum:

s ## e ##. MP4

Ben geldi budur:

-n "s / ^ (\ d {2}) \. (\ d {2}) olarak yeniden adlandırın. * / s $ 1e $ 2.mp4 /"

Http://regexr.com/ adresinde test ettiğimde çalışır ancak Ubuntu 12.04 kurulumumda komutu çalıştırdığımda tüm dosyalarım yeniden adlandırılıyorse.mp4

Yani gruplar yok sayılıyor ya da eklenmiyor ya da bu satırlar boyunca bir şey var. Körü körüne açık bir şey mi kaçırıyorum yoksa başka bir şey mi oluyor?

PyRenamer kullanarak sona erdi ve bu harika çalıştı, ama yine de neden renamedüzgün çalışmadığını bilmek istiyorum .

Şerefe ve bana verebileceğin herhangi bir yardım için teşekkürler.

Yanıtlar:


14

Sanırım çift tırnak kullanımınız kabuğun genişlemesine $1ve$2

$ rename -nv "s/^(\d{2})\.(\d{2}).*/s$1e$2.mp4/" *.mp4
12.34 File name.mp4 renamed as se.mp4

oysa yeniden adlandırma ifadesinin çevresinde tek tırnak işareti

$ rename -nv 's/^(\d{2})\.(\d{2}).*/s$1e$2.mp4/' *.mp4
12.34 File name.mp4 renamed as s12e34.mp4
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.