Hola alguien podria ayudarme Estoy tratando de quitar los dígitos iniciales de varios archivos mp3 para que "01 some_file.mp3" se convierta en "some_file.mp3" si alguien me pudiera mostrar cómo hacerlo con zmv, eso sería genial
Hola alguien podria ayudarme Estoy tratando de quitar los dígitos iniciales de varios archivos mp3 para que "01 some_file.mp3" se convierta en "some_file.mp3" si alguien me pudiera mostrar cómo hacerlo con zmv, eso sería genial
Respuestas:
Un script como este podría funcionar:
for f in *; do
mv "$f" "${f:3}"
done
Esto eliminará los primeros 3 caracteres del nombre de archivo (los dos números y el espacio).
O algo como esto:
for f in *; do
mv "$f" "$(printf "$f" | cut -d' ' -f2-)"
done
Si hay un espacio en blanco real entre el número y el resto del nombre. Esto imprimirá todo, desde el espacio en blanco hasta el final del archivo.
Tenga en cuenta que esto solo funcionará para un número fijo de dígitos (primer ejemplo) o si hay un espacio real entre los dos campos (segundo ejemplo), si el caso no se aplica a ninguna de las soluciones mencionadas, aún puede contar con coincidencia de expresiones regulares:
for f in *; do
mv "$f" "$(printf "$f" | sed s/[[:digit:]]*\ *//)"
done
Esto funcionaría para cualquier número de dígitos y / o espacios iniciales. Por ejemplo:
echo '0001 hellow aasa 1212.mp3' | sed s/[[:digit:]]*\ *//
Imprimirá
hellow aasa 1212.mp3