Script en BASH: Cambiar el seperador por defecto

Me he conseguido un programilla muy sencillo para Linux para eliminar el espacio vacío de las ROMs de Nintendo DS:
http://blog.dev-scene.com/ratx/archives/category/nds/

El programa se ejecuta desde la consola a modo de comando, pero no permite aplicarlo a más de un archivo a la vez, por lo que enseguida me puse manos a la obra a hacer un script para solucionar este problema y poder eliminar el espacio de todas las roms que hay un determinado directorio. El programa (trim) sólo tiene un parámetro y es el archivo a "truncar" (pongamos mario.nds), y crea un archivo nuevo reducido mario.trim.nds dejando el original intacto. Este es el script que he hecho:

#!/bin/bash
trim="/usr/local/bin/trim"
if [ ! -f $trim ]; then
   echo "Asegúrese de que 'trim' esta instalado en:"
   echo $trim | sed s/trim//g
   echo
   echo "http://blog.dev-scene.com/ratx/archives/category/nds/"
   exit
fi
for i in $(find *.nds | sed s/.nds//g); do
   echo "* * * $i.nds * * *"
   trim "$i.nds"
   if [ -f "$i.trim.nds" ]; then
      rm "$i.nds"
      mv "$i.trim.nds" "$i.nds"
   fi
done
exit


El tema es que el script funciona perfectamente siempre y cuando el archivo no tenga espacios en su nombre. Imaginemos que por ejemplo el único archivo a procesar es New Super Mario Bros.nds, entonces en cada iteración me procesaría:
  1. New
  2. Super
  3. Mario
  4. Bros.nds
La pregunta es, ¿como se cambia los separadores por defecto (espacios/intros) para dejar sólo los intros (\n)? Sé de muchos comandos (por ejemplo el awk) que traen su propia opción para cambiar el separador entre campos. Lo que no sé es como cambiar los separadores de forma global a un script. Supongo que habrá alguna variable de entorno para esto, pero no sé muy bien cual es. ¿Alguien sabe algo?


Muchas gracias de antemano
Gracias ya lo he conseguido!! [sonrisa]
Una cosa, porque no sacas la variable trim de un which

trim=`which trim`

Y luego compruebas si existe o no (si hay algo en la variable $trim o no)
3 respuestas