AppleScript:
set input to "atttttttbcde#09.wav"
set output to (do shell script "myVar=\"" & input & "\" && basenameVar=\"${myVar%#*}\" && echo \"$basenameVar.${myVar##*.}\" ")
Shell script (debe usar Args en Automator para rellenar var)
myVar=(Enter Shell arg here) && basenameVar="${myVar%#*}" && echo "$basenameVar.${myVar##*.}"
Funciona bien. No sólo elimina los números de 2 dígitos y el #, sino que también elimina todos los caracteres después del # y luego vuelve a añadir la extensión (que almacenó en una var anteriormente).
He aquí una explicación más profunda:
- Almacena el nombre del archivo original como Var en ZSH
- Elimina todo lo que sigue a # del nombre original
- Añade la extensión de la espalda, que se encuentra desde el nombre original
- Hace eco del nombre final, que se almacena en la variable de salida en applescript
1 votos
¿Qué pasa con el espacio principal que está mostrando delante de la
#
carácter, hacer lo que se eliminó también? ¿Qué has probado hasta ahora?1 votos
He buscado un poco en Google pero no soy, para nadie, un programador. He encontrado un script que elimina los números pero no el #: discussions.apple.com/thread/3366373
0 votos
Además, acabo de comprobarlo y, de hecho, no hay ningún espacio inicial; ¡gracias por hacerme comprobarlo!
0 votos
Su ejemplo nombres de archivo muestran un liderazgo espacio frente a la
#
carácter ¡! Por favor, edite su pregunta para reflejar la información correcta.0 votos
No he probado el código en el enlace de su comentario, sin embargo, el
sed
comando para eliminar, por ejemplo#01
enabcdefg#01.wav
y similares patrones sería:sed -E 's/[#0-9]+//'
0 votos
Gracias, usuario3439894, ha funcionado muy bien. Para cualquiera que siga este rastro de migas de pan en el futuro, utilice el script que he enlazado y sustituya la parte del código que comienza con sed por el trozo de script que el comentario anterior ha sugerido con gran ayuda.