Scrip tonto en bash

Roberto Villares "Leto" coldmeat.news en gmail.com
Mar Mayo 17 01:00:59 CDT 2005


El Lunes 16 Mayo 2005 23:13, Fernando Tamarit escribió:
> Hola a todos,
>
> Tengo ubuntu y ejecuto con el wine el peer 2 mail Me funciona perfecto
> menos para unir los fichero. He probado a unirlos con cat y funciona
> perfectamete (el fichero final es valido), asi que queria hacer un scrip
> que lo automatizara. De momento tengo esto, pero me da error en la linea
> 4. Se supone que dado un directorio en que esta el scrip tiene que hacer
> cat consecutivamente a partir del primero:
> #!/bin/bash
> listado=$(ls --ignore='*.001')
> for k in $listado
> do
> cat $k >> *.001
> done
>
> echo ">>>  Union finalizada"
>
>
> En archivos de la forma:
> Las chicas Gilmore 2x14 - Deberia de haber sido Lorelai -
> (DVD+SAT)(www.TusSeries.com).avi.049
>
> La salida es:
> cat: Las: No existe el fichero o el directorio
> cat: chicas: No existe el fichero o el directorio
> cat: Gilmore: No existe el fichero o el directorio
> cat: 2x14: No existe el fichero o el directorio
>   Y se queda ahi suspendido.
El error que te da aqui es por que no has puesto "$k" en el cat... deberia 
quedar algo asi:
cat "$k" >> *.001

de todas formas no se si funcionaria.. pero a mi ese *.001 no me gusta nada... 
yo no se mucho bash.. lo intentaria arreglar asi.

#!/bin/bash
rm pelicula #borra el archivo temporal pelicula donde se concatenara todo
for k in * #recorre todos los archivos del directorio en cuestion
do
cat "$k" >> pelicula #concatena todo en el archivo pelicula
done
echo ">>>  Union finalizada"


de forma que te quedara la pelicula o lo que fuera en el archivo "pelicula", 
que deberias cambiar de nombre al deseado (lo q puedes hacer tb es tomar 
parametros en la llamada al script y asi ya generar el archivo con el nombre 
que deseas.
Todo esto no esta probado a estas horas, ya q me tengo q ir a trabajar :)ç

suerte!

-- 
La discriminación de los negros está presente en cada momento de sus vidas 
para
recordarles que la inferioridad es una mentira que sólo acepta como verdadera
la sociedad que los domina.
  -- Martin Luther King. (1929-1968) Lider pacifista
  estadounidense. 



Más información sobre la lista de distribución ubuntu-es