
Como posso substituir em massa o sufixo de muitos arquivos?
Eu tenho muitos arquivos como
NameSomthing-min.png
NameSomthing1-min.png
NameSomthing2-min.png
Eu gostaria de mudar todos eles para
NameSomthing.png
NameSomthing1.png
NameSomthing2.png
ou seja, remova os caracteres -min
do nome. Como eu faria isso?
Responder1
Este script pode ajudar:
for file in *-min.png; do
echo mv "$file" "${file%-min.png}.png"
done
Remova o eco para realmente executar o comando.
Responder2
Isso depende da sua concha. Eu uso zsh
e é assim que faço:
for i in *-min.*; do mv $i "${i%-*}.${i#*.}"; done
Aconselho verificar a página de manual do seu shell e uma seção semelhante a "expansão de parâmetros" (como é chamada nozsh
página de manual).
Soluções semelhantes bash
também estão disponíveis para outros shells (você não especificou qual usar).
Observe que sua solução específica sempre depende dos dados e do seu objetivo. se você tiver o '-' como separador entre o nome e o sufixo do qual deseja se livrar, este é o caminho a seguir. Caso contrário, você pode querer adaptar um pouco a expansão dos parâmetros.