On Wed, Nov 07, 2007 at 01:36:07PM -0600, Luis Rodrigo Gallardo Cruz wrote: > On Wed, Nov 07, 2007 at 07:09:15PM +0100, glicerinu wrote: > > Buenas > > tengo un monton de archivos *.rar para descomprimir y por tal de no hacerlo > > a mano he hecho un pequeño script: > > > > #!/bin/sh > > ls /home/glice/aMule|grep .rar > tmp > > i=`wc -l tmp |cut -c 0-2` > > while `test 0 -ne $i` > > do > > unrar x `tail -n $i tmp |head -n 1` > > i=`expr $i - 1` > > done > > > > la questión es que son archivos bajados del amule y como no, estan llenos de > > espacios y caracteres 'especiales' > > No es rar quien los parte, es el mismo shell *antes* de pasarselos a > rar, así que ninguna opción de rar va a lograr nada. Tienes que > entrecomillarlos, para evitar que los parta. En la linea dónde llamas > a rar tendría que ser > > unrar x "`tail -n $i tmp |head -n 1`" > > Por cierto que te estás complicando la vida que da gusto. > find es tu amigo: > > $ find /home/glice/aMule -name '*rar' -exec unrar \{} \; >
Que recuerdos me traes de mis primeros scripts! ;) La forma con find es buena, pero si conoces el directorio donde están los archivo yo probaría así: for i in *.rar; do unrar x "$i"; done Fíjate en las comillas de "$i" , es importante ponerlas cuando los nombres llevan espacios o caracteres extraños. Para todo lo demás, man bash. Saludos a todos. -- trucosdebian.cjb.net -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]