
¿Cómo puedo reemplazar de forma masiva el sufijo de muchos archivos?
tengo muchos archivos como
NameSomthing-min.png
NameSomthing1-min.png
NameSomthing2-min.png
Me gustaría cambiarlos todos a
NameSomthing.png
NameSomthing1.png
NameSomthing2.png
es decir, eliminar los caracteres -min
del nombre. ¿Cómo haría esto?
Respuesta1
Este script puede ayudar:
for file in *-min.png; do
echo mv "$file" "${file%-min.png}.png"
done
Elimine el eco para ejecutar realmente el comando.
Respuesta2
Eso depende de tu caparazón. Yo uso zsh
, y esta es la forma en que lo hago:
for i in *-min.*; do mv $i "${i%-*}.${i#*.}"; done
Le recomiendo consultar la página de manual de su shell y consultar una sección similar a "expansión de parámetros" (como se llama en elzsh
página de manual).
También hay soluciones similares disponibles para bash
otros shells (no especificó cuál usa).
Tenga en cuenta que su solución particular siempre depende de los datos y su objetivo. Si tiene el '-' como separador entre el nombre y el sufijo del que desea deshacerse, este es el camino a seguir. De lo contrario, es posible que desees adaptar un poco la expansión de parámetros.