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

Re: Script de instalacion



El mié, 14-04-2010 a las 08:47 -0300, Cristian Mitchell escribió: 
> El día 14 de abril de 2010 08:41, Angel Abad <angelabad@gmail.com> escribió:
> > El día 14 de abril de 2010 13:36, Cristian Mitchell
> > <mitchell69uk@gmail.com> escribió:
> >> Buenos Días lista:
> >>
> >> Estoy armando un script de instalación interactivo,
> >> y me encontré con la siguiente necesidad,
> >> tengo que modificar unos archivos de configuración.
> >> entonces quiero verificar si contienen o no unas lineas,
> >> y si fuese que no agregarlas sin modificar el resto.
> >> la condición es que sea en script para correr en shell.!!!!
> >
> > Buenas, tienes varias opciones, yo personalmente usaría perl, las
> > expresiones regulares son muy versatiles y te permiten identificar si
> > ciertos patrones existen en el fichero y sustituirlos, añadir o
> > borrar.
> >
> > - http://www.troubleshooters.com/codecorn/littperl/perlreg.htm
> >
> > AguuuuR
> >
> >> un ejemplo es el smb.conf
> >>
> >> Gracias
> >> (... líneas de firma eliminadas... )

> el tema es que hice incape en shell,
> por dos cosas.
> 1 no soy programador y debo mantenerlo
> 2 y la mas importante, debe andar en cualquier lado sin necesidad de
> instalar nada
> 

medio difícil (por no decir imposible, aunque no tengo pruebas concretas
de la imposibilidad) que te encuentres con un debian que no tenga perl.
De todas maneras podés hacer algo tan simple como esto:
grep "cadena" archivo || echo "cadena" >> archivo

donde cadena es lo que necesitás que esté en el archivo 'archivo'. Y
grep es para buscar, si no lo encuentra devuelve un código de error,
entonces se ejecuta lo del otro lado del or (las ||), que sería anexar
'cadena' al final del archivo.
Está todo *mucho* mejor explicado, sobre todo si tenés que hacer algo
mas sofisticado, en:
man bash
man grep

también podés buscar y revisar el 'advanced bash scripting guide' que
seguramente lo que tengas que hacer haya un ejemplo ahí


Reply to: