Linux/Unix Shell Scripting - leer variables de otro fichero

 
Vista:

leer variables de otro fichero

Publicado por Jordi (11 intervenciones) el 06/06/2009 20:00:08
Buenas a todos!

estoy haciendo un script, y necesito que lea valores o contenido de otro fichero, seria algo como la configuracion de squid, squid.conf, que dependiendo si queremos habilitar o no una opción la dejaremos comentada o la descomentaremos con #.

De momento lo he hecho con grep, haciendo: if (grep "palabraquebusco" fichero) && if !(grep "#palabraquebusco" fichero), pero no es una solución del todo correcta, ya que si en el fichero donde aplico el grep existiese "palabraquebusco1" mi código no sería fiable.

A ver si alguíen conoce la forma de hacerlo.

Saludos y gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:leer variables de otro fichero

Publicado por xae (9 intervenciones) el 08/06/2009 22:15:23
Si el archivo del que vas a leer contiene comandos de bash podrías usar el comando 'source', '.', que te incluye el contenido del fichero en el script actual, por ejemplo,

.configuracion.conf
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:leer variables de otro fichero

Publicado por Jordi (11 intervenciones) el 09/06/2009 22:51:49
No es que tenga instrucciones bash el archivo que voy a leer, simplemente quiero que otras palabras derivadas de las q necesito sean aceptadas por la instrución grep, es decir si kiero q este "politica1" que me encuentre solo esa, y se salte por ejemplo "politica11", o "#politica1"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:leer variables de otro fichero

Publicado por Tom (361 intervenciones) el 09/06/2009 18:05:36
Quizás te funcione mejor con grep -w
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:leer variables de otro fichero

Publicado por Jordi (11 intervenciones) el 09/06/2009 22:55:22
Tampoco me funciona, una palabra del estilo "#politica1" es aceptada por la instruccion grep -w "politica1"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:leer variables de otro fichero

Publicado por Jordi (11 intervenciones) el 10/06/2009 18:25:43
Buenas!

creo q ya encontré la forma de hacerlo, aunke al mirar el man de grep, la opción de -w parecia la idonea, luego no me funcionaba tal y como keria, la forma que he encontrado es usando expresiones regulares, al criterio de búsqueda, en este caso mi palabra, tengo q añadirle el símbolo ^ delante de la palabra, esto indica que la palabra tiene que estar al principio de linea, y tb tengo q añadirle detrás de la palabra el símbolo $, esto indica que la palabra se encuentra a final de linea, con las dos consigo que solo exista la palabra en la linea, seria algo asi --> ^palabra_que_busco$.

Ahora lo que me vendría perfecto sería indicarle al grep q busque solo en una linea concreta, por ejemplo la 15, alguien sabe como?

Se me ha ocurrido concatenar head y tail, pero aun tengo q probar si funciona.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:leer variables de otro fichero

Publicado por Leonardo Rothe C. (1 intervención) el 08/12/2011 19:24:24
Hola, Jordi.

Si funciona concatenar head y tail. si fuese la línea 15, puedes hacer:
$head -15 <archivo> | tail -1

Podrías hacer algo también haciendo un "cat -n <archivo>" que coloca los números de línea al inicio.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar