Die meisten Standard-Shells bieten eine Möglichkeit, einfache Textersetzungen innerhalb von Shell-Variablen vorzunehmen. http://tldp.org/LDP/abs/html/parameter-substitution.html erklärt wie folgt:
${var/Pattern/Replacement}
First match of Pattern, within var replaced with Replacement.
Verwenden Sie also dieses Skript, um alle entsprechenden Dateien zu durchlaufen, und benennen Sie jede um:
for file in aro_tty-mIF-*_opt
do
mv -i "${file}" "${file/-mIF-/-mImpFRA-}"
done
Ich habe eine Option -i hinzugefügt, damit Sie die Möglichkeit haben, jeden Umbenennungsvorgang zu bestätigen. Wie immer sollten Sie eine Sicherungskopie aller Ihrer Dateien erstellen, bevor Sie größere Mengen umbenennen oder löschen.
Wenn Sie Perls rename
nicht haben :
perl -e '
FILE:for $file (@ARGV){
($new_name = $file) =~ s/-mIF-/-mImpFRA-/
next FILE if -e $new_name;
rename $file => $new_name
}' *_opt
Wenn Sie tun haben Perls rename
:
rename 's/-mIF-/-mImpFRA-/' *_opt
Bevor Sie komplexe Befehle wie die folgenden ausprobieren, sichern Sie Ihre Dateien . Man weiß nie, was ein Tippfehler (meiner oder deiner) verursachen kann.
Mit mv
(wie Sie im Kommentar gefragt haben --- rename
wie in der anderen Antwort vorgeschlagen, ist wahrscheinlich sicherer, besonders wenn Sie Leerzeichen oder seltsame Zeichen in Ihren Dateinamen haben können) etwas von dem Stil
for f in *_opt; do
a="$(echo $f | sed s/-mIF-/-mImpFRA-/)"
mv "$f" "$a"
done