Většina standardních shellů poskytuje způsob, jak provést jednoduchou náhradu textu v proměnných shellu. http://tldp.org/LDP/abs/html/parameter-substitution.html vysvětluje následovně:
${var/Pattern/Replacement}
First match of Pattern, within var replaced with Replacement.
Použijte tedy tento skript k procházení všech příslušných souborů a přejmenování každého z nich:
for file in aro_tty-mIF-*_opt
do
mv -i "${file}" "${file/-mIF-/-mImpFRA-}"
done
Přidal jsem volbu -i, takže máte možnost potvrdit každou operaci přejmenování. Jako vždy byste si měli udělat zálohu všech svých souborů, než provedete velké množství přejmenování nebo mazání.
Pokud nemáte Perl's rename
:
perl -e '
FILE:for $file (@ARGV){
($new_name = $file) =~ s/-mIF-/-mImpFRA-/
next FILE if -e $new_name;
rename $file => $new_name
}' *_opt
Pokud uděláte mít Perlův rename
:
rename 's/-mIF-/-mImpFRA-/' *_opt
Než vyzkoušíte složité příkazy, jako jsou následující, zálohujte si soubory . Nikdy nevíte, co může způsobit překlep (můj nebo váš).
S mv
(jak jste se ptali v komentáři --- rename
jak je navrženo v druhé odpovědi, je pravděpodobně bezpečnější, zvláště pokud můžete mít v názvech souborů mezery nebo podivné znaky) něco ze stylu
for f in *_opt; do
a="$(echo $f | sed s/-mIF-/-mImpFRA-/)"
mv "$f" "$a"
done