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: