Bu her türlü pratik değildir - diğer cevaplar çok daha hızlı ve daha kısadır - ama ...
PowerShell kullanabilirsiniz! Microsoft son zamanlarda açık kaynaklı ve çapraz platform haline getirdi. İşletim sisteminize ilişkin indirmeler ve kurulum talimatları için "PowerShell'i Alın" bölümüne bakın .
Yüklendikten sonra, bu kısa komut dosyasını kullanabilirsiniz:
Get-ChildItem -File '*]*.avi' | ForEach-Object {
Rename-Item $_ -NewName (($_.Name -Split ']')[0] + '.avi')
}
Temel olarak, geçerli dizinde bir dosya eşleşmesi olan her nesneden geçer *]*.avi
, parçayı parantezden önce alır, .avi
üzerine yapışır ve bunu yeni ad olarak atar.
Doğrudan Bash'ten çalıştırmak için, bu yarı golf tekli astarı kullanın:
powershell -command $'gci -File \'*]*.avi\'|%{rename-item $_ -NewName (($_.Name -Split \']\')[0]+\'.avi\')}'
Bu Yığın Taşması cevabının izniyle kaçan alıntı .
(Windows'ta Ubuntu'da Bash'te test edildi. Muhtemelen PowerShell ile yapmanın çok daha kısa bir yolu var, ancak düzenli ifadeler bilmeyen insanlar için anlaşılabilir bir şey göstermek istedim.)
krename
, güzel. Her türlü güçlü seçeneğe sahiptir ve gerçekten yapmadan önce ne yapacağını gösterir. Daha sonra bash'de kullanabileceğiniz kalıpları test etmek için bile kullanabilirsiniz.