[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ShellScript



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




Reply to: