Agregar una línea a un documento en un script de bash
Publicado: 10 Junio, 2010 - 11:48 Agregar una línea a un documento en un script de bash
Buenas, estoy intentando crear un script y me faltan ajustar algunas cosas, por ejemplo mi idea es automatizar algunas operaciones despues de instalar.
Me gustaria saber como en un script de bash podria agregar una linea a un documento, por ejemplo, si tengo /etc/prueba y en ese archivo "prueba" quisiera agregar o modificar alguna linea de texto, cual seria el comando?
Me han dicho que con el comando tee se puede... pero la verdad no me manejo mucho en programacion... lo basico lo he aprendido sola, pero si me dan una mano se los agradeceria!
Sino quedo claro avisenme por favor! e intentare ser mas clara! 
- Inicie sesión o regístrese para enviar comentarios
- 2050 lecturas


Añadir una línea lo haces simplemente redireccionando la salida con >>:
echo "nueva linea al final de fichero" >> /etc/pruebaPara modificar texto lo ideal es aprender algo de sed, o awk...
Esta guía me ayuda mucho con mis scripts:
http://learnlinux.tsf.org.za/courses/build/shell-scripting/index.html
Ejecuta esto linea a linea y veras lo que hace , la diferencia radica en > y >>
echo 'hola' >fichero.txtcat fichero.txt
echo 'hola2'>>fichero.txt
cat fichero.txt
echo 'hola3' >fichero.txt
cat fichero.txt
Para agregar líneas a un fichero sólo tienes que añadir el eco al final de ese fichero, de esta forma:
echo "Lo que tu quieras añadir" >> el_fichero_que_seaPara modificar el contenido puedes usar el editor sed (Stream EDitor for filtering and transforming text)
Otros comandos útiles pueden ser head y tail, redireccionando la salida con ">" o ">>"
Te cambio el título... "Ayuda con.." no es descriptivo
Y este comando en que se diferencia del ">>" anterior ?
sudo echo AVAHI_DAEMON_DETECT_LOCAL=0 | sudo tee /etc/default/avahi-daemonYo lo uso para crear el documento avahi-daemon con ese contenido. Es lo mismo o varia en algo?
Y este comando en que se diferencia del ">>" anterior ?
sudo echo AVAHI_DAEMON_DETECT_LOCAL=0 | sudo tee /etc/default/avahi-daemonYo lo uso para crear el documento avahi-daemon con ese contenido. Es lo mismo o varia en algo?
El comando tee,duplica la salida standard, no solo la imprime (muestra) si no que ademas la escribe en un archivo.
Si el archivo no existe lo crea ,pero sobreescribe lo que esta puesto: a menos que uses la opción -a
En el caso de '>> ' agrega el contenido de la salida standard al archivo.
Si te tomas el trabajo de hacer el ejercicio que te indico cnicolas, además buscar y probar un poco, te vas a dar cuenta.
Por ejemplo esto
Quizá tenes que ponerle un poco más de garra al asunto para aprender .
Hola,
Mira, lo mejor que te puedo recomendar es que aprendas el lenguaje de programación Shell Script, pero para darte un ejemplo:
1. Abres el archivo que deseas editar con un editor.
2. Si quieres escribir texto:
echo "Texto que quieres agregar"u otra opción es:
printf "Texto que quieres agregar"Si quieres inertar un campo:
read NombreDeVariblePor cierto, en internet hay un montón de tutoriales excelentes de Shell Script
Saludos