4 votos

¿Cómo puedo eliminar los espacios en blanco iniciales y finales de los nombres de archivo en Automator?

Mi esposa renombra tediosamente los archivos todo el tiempo cuando los almacena en su almacenamiento externo de respaldo, así que investigué el uso de Automator para hacer esto por ella. Ahora tengo una carpeta de Automator en la que ella simplemente deja caer el archivo allí y se renombra el archivo apropiadamente.

Ahora me encuentro con una situación en la que el archivo puede contener espacios en blanco al principio o al final, ¿cómo puedo recortar estos espacios en blanco?

Nunca he utilizado AppleScript pero domino el shell scripting, ¿puedo simplemente escribir un shell script que realice esta tarea? Me gustaría probar AppleScript si alguien puede indicarme la dirección correcta.

1voto

Alexander Gruber Puntos 21477

Hay una línea script para eso, cd a esa carpeta y ...

for f in *; do mv "$f" "$(echo $f)"; done

Ponerlo en un shell script y llamarlo desde Applescript:

tell application "Terminal"
    do script "whatever"
end tell

1voto

Phil Puntos 128

Para una respuesta correcta que se base en la de Tuan se necesita lo siguiente, que no sólo renombrará el archivo sino que también conservará la cadena de acciones para las acciones siguientes.

Ten en cuenta también que no queremos renombrar la carpeta padre de ninguna manera, sólo los archivos.

for f in "$@" ; do
    dirname=$(dirname "$f")
    basename=$(basename "$f")
    name=${basename%.*}
    ext=${basename##*.}
    name="$(echo "$name" | sed -Ee 's/^ +//;s/ +$//')"
    new="$dirname/$name.$ext"
    mv "$f" "$new"
    echo "$new"
done

Tampoco es necesario poner esto en un shell script propiamente dicho, automator puede tenerlo incrustado en la acción "Ejecutar Shell script".

1voto

Fuzzy Purple Monkey Puntos 702

for f in "$@"; do new="$(echo -n "$f" | sed -E 's|/$||;s| +$||;s|^ +||;s|/ +([^/]+$)|/\1|;s| +(\.[^.][a-zA-Z0-9.]*)$|\1|g')"; mv "$f" "$new"; echo "$new"; done

(Pegar como Ejecutar Shell script acción y seleccione Pasar la entrada: como argumentos .)

1voto

Paige Watson Puntos 436

También quería eliminar los espacios en blanco de los nombres de archivos y carpetas. Este puesto de superusuario me ayudó.

0voto

Julius Canute Puntos 26

Hay un AppleScript (muy similar a Automator) que recorta los nombres de los archivos. Es un poco largo, así que no puedo publicarlo aquí, pero aquí es un enlace al código. Asegúrate de leer la parte inicial del código, ya que explica lo que hace el script y cómo funciona.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X