çatal yok:
ls | perl -lne '$suf=substr($_,6); rename $_, "XXXXX-$suf"'
Bir kabuk döngüsü kullandığınızda, mvçatallar dosya başına bir kez. Perl'in renameemri yoktur.
(Perl'in yeniden adlandırma komutunun bazı kısıtlamaları vardır, ancak bu özel durumda bu kısıtlamalar geçerli değildir.)
Daha renameönce gösterilen komuta gelince , evet işe yarıyor, ama sonra iki farklı yeniden adlandırma türü ve benzeri arasındaki tüm karışıklığa sahipsiniz. Doğru olana sahipseniz, harika, ama değilse, bu da işe yarar.
Perl-rename komutuna sahip değilseniz ve yükleyemiyorsanız, bunu yapabilirsiniz:
ls | perl -lne '$old=$_; s/(\w+)/XXXXX/; rename $old, $_'
Gördüğünüz gibi, bu üst yanıtta gösterilen aynı ikameyi kullanır. Elbette perl-rename'in diğer çanları ve ıslıkları var (yukarıda bahsedilen en büyük cevap -nzaten var, o zaman var -0, -fvb.) Ve ne kadar çok ihtiyacınız olursa, bu şekilde kendi yerine yuvarlamak yerine bunu daha fazla yüklemelisiniz .
rename. Bu Larry Duvar adlı olduğunu varsayalımrenamegelenrename(ve IIRC Debian ve türevi de paketinprenameRedHat ikna sistemlerde). Çok kullanışlı bir araç.