senza forcelle:
ls | perl -lne '$suf=substr($_,6); rename $_, "XXXXX-$suf"'
Quando si utilizza un loop shell, le mvforchette una volta per file. Il renamecomando di Perl no.
(Il comando di rinomina di Perl ha alcune restrizioni, ma in questo caso specifico quelle restrizioni non si applicano.)
Per quanto riguarda il renamecomando mostrato in precedenza, sì, funziona, ma poi hai tutta quella confusione tra due diversi tipi di rinomina e così via. Se hai quello giusto, fantastico, ma in caso contrario, funziona anche questo.
Se non si dispone del comando perl-rename e non è possibile installarlo, è possibile:
ls | perl -lne '$old=$_; s/(\w+)/XXXXX/; rename $old, $_'
Come puoi vedere, utilizza la stessa sostituzione mostrata nella risposta in alto. Naturalmente il perl-rename ha altre campane e fischietti (la risposta in alto accennato, -ngià, poi c'è -0, -fe così via), e più di loro è necessario, tanto più è necessario installare che invece di rotazione proprio in questo modo .
rename. Presumo che questo sia Larry Wallrename, dalrenamepacchetto in Debian e derivati (e IIRCprenamesui sistemi di persuasione RedHat). Uno strumento molto utile