Eu tenho três ícones: notte (não um link simbólico), astronomia (link simbólico) e gnome-astronomy (link simbólico).
ls -l
astronomy.svg -> celestia.svg
gnome-astronomy.svg -> konquest.svg
notte.svg
Eu quero renomear os dois links simbólicos para notte. Deve ser como:
ls -l
astronomy.svg -> notte.svg
gnome-astronomy.svg -> notte.svg
notte.svg
O rename
comando é:
rename -s 'celestia' -- 'notte' *.svg
Esperava rodar os comandos, usando regex com "|", mas não funcionou. Aqui é como:
rename -s -n 'konquest\|celestia' -- 'notte' *.svg
rename -s -n 's/konquest\|celestia/notte/g' *.svg
rename -s -n 's/\(konquest\|celestia\)/notte/g' *.svg
Este caso funciona apenas se sem -s
e se os arquivos não forem links simbólicos.
O
rename
utilitário doutil-linux
pacote que também é conhecido comorename.ul
não entende regexes e-n
, mas o-s
switch.Você pode renomear os destinos do link simbólico em um loop com:
O script Perl
rename
entende regexes e-n
, mas não pode renomear destinos de links simbólicos.