¿Cómo eliminar el carácter de espacio (espacios en blanco) desde el final de los nombres de files y carpetas?

El problema con mac es que permite caracteres de espacio al final del file o carpeta. Si este file o carpeta con carácter de espacio al final se copy a FTP utilizando Filezilla o Dropbox, mac crea carpetas con "Foldername_WhiteSpaceConflict". Para deshacerse de este problema, se deben renombrar todos los files y carpetas con carácter de espacio sin carácter de espacio. ¿Qué solución podría ser la mejor usando terminal o algún progtwig?

  • Recuperar windows al espacio actual
  • ¿Por qué los espacios siguen capturando la input del keyboard algunas veces después de cambiar espacios?
  • Tecla de flecha de control para saltar a la siguiente palabra
  • ¿Cómo cambio el foco del monitor con el keyboard?
  • ¿Cómo arreglar lsregister asociaciones que fallan después de reiniciar?
  • Mountain Lion espacios comportamiento errático
  • ¿Cómo saber rápidamente la resolución de una image?
  • ¿Cómo habilitar / deshabilitar la participación de OS X beta desde la Terminal?
  • ¿Cuál es la diferencia entre open (-a) <app> y hacer doble clic en Finder / Spotlight?
  • Carpetas básicas OS X: estructura de carpetas con respecto a los usuarios
  • ¿Cómo puedo ver que windowid pase a captura de pantalla -l?
  • OS X 10.8.5: ¿Puedo mover íconos en la base y no dejarlos allí cuando las aplicaciones están cerradas?
  • 4 Solutions collect form web for “¿Cómo eliminar el carácter de espacio (espacios en blanco) desde el final de los nombres de files y carpetas?”

    Aquí está la secuencia de commands para search y eliminar el espacio final de files y directorys:

    #!/bin/bash IFS=$'\n' for file in $(find -d . -name "* ") do target_name=$(echo "$file" | sed 's/[ \t]*$//') if [ "$file" != "$target_name" ]; then if [ -e "$target_name" ]; then echo "WARNING: $target_name already exists, file not renamed" else echo "Move $file to $target_name" mv "$file" "$target_name" fi fi done 

    Existe una aplicación para Mac llamada ' Name Mangler ', que hará todo lo que pueda desear hacer con un nombre de file / carpeta, e incluso puede crear su propio código y usarlo en la aplicación. Hay una versión de testing gratuita que le ofrece 4 bashs ilimitados, y puede revertir los nombres si comete un error.

    Algo como esto debería funcionar:

     ruby -e "Dir.glob('* ').each { |name| File.rename name, name.chomp(' ') }" 

    Esto eliminará los espacios finales de cada file / directory en la pwd.

    Tuve que arreglar el script un poco más. Para files o carpetas que terminan en la letra 't', también eliminaría esa letra. Y la llamada para verificar si el file existe no funcionaba correctamente, por lo que cambió "target_name" a $ target_name y funciona ahora.

     #!/bin/bash IFS=$'\n' for file in $(find -d . -name "* ") do target_name=$(echo "$file" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//') if [ "$file" != "$target_name" ]; then if [ -e $target_name ]; then echo "WARNING: $target_name already exists, file not renamed" else echo "Move $file to $target_name" mv "$file" "$target_name" fi fi done 
    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).