Re: Script para arreglo de buzones corruptos
Hola
Muchas gracias por tu ayuda. aunque prefiero no tener que hacerlo en C.
Al final con el sed no tengo que mover grandes ficheros, solo al pegarlos al
final.
Ya lo tengo hecho, pero tengo un pequeño problema de eficiencia:
linea_from=`grep -n "From " $1|sed -n 1p|cut -d: -f1`
Me encuentra la primera linea que tiene el from, pero el problema es que el
grep por defecto busca todas las ocurrencias y si el fichero es de 100
megas...
He estado probando con grep -q que segun el man se para en la primera
ocurrencia, que es la que queremos. pero no me saca nada por pantalla.
Alguna idea de como usar el grep para que se pare en la primera ocurrencia?
aqui esta el script por si a alguno os sirve:
###script para arreglar buzones
#########################
#obtenemos las variables necesarias
linea_from=`grep -n "From " $1|sed -n 1p|cut -d: -f1`
####arreglamos la linea de From
sed -n "$linea_from","$linea_from"p $1 |sed s/.*From// |sed 's/^/From/' >
buzon_arreglado
sed 1,13d $1 >> buzon_arreglado
Muchas Gracias.
Un saludo
Juan
Cuenta la leyenda que el Sábado, 24 de Mayo de 2003 01:25, Juan Ángel
escribió:
> Hola!,
> pues ... no sé si lo más rápido sería con el sed.
> Resulta que tienes que quitarle un "cacho" del principio a unos archivos.
> Pues creo que la forma más rápida de hacerlo (en cuanto a tiempo invertido)
> sería con el sed. Si no, la forma más eficiente sería que te hicieras un
> programa en C, usando mmap. El problema está en que VFS tiene en cuenta
> siempre donde comienza un archivo, o sea, que realmente una tonteria como
> quitarle un byte al principio del archivo, casi quiere decir recopiar el
> archivo entero (sin el casi, aunque dependerá del sistema de archivos por
> debajo del VFS). Bueno, esta es mi opinión, que tampoco es que sea una gran
> cosa, pero es que realmente no me acuerdo de ninguna otra llamada al
> sistema que haga algo de eso, lo siento :(
> Un saludo,
> --
> Juan Ángel
> PGP key on pgp.rediris.es (8FAF18B7)
> or search on http://www.rediris.es/cert/servicios/keyserver/
--
Usuario Linux Registrado: 257202
http://perso.wanadoo.es/elsotanillo (en construccion)
Reply to: