El 10/11/2006, a las 0:06, andmarti@gmail.com escribió:
Gente, cómo va? Les tengo una preguntita sencilla: Tengo en un archivo una línea con "AllowUsers usuario1 usuario2.." Estaba buscando mediante sed agregar texto en la línea. Sé como agregar una linea antes y después pero no EN la línea. No obstante, lo logro hacer con lo siguiente: LINEA_OR=`cat archivo |grep AllowUsers` LINEA_NUEVA=`echo $LINEA_OR usuario_nuevo` sed -e "/^AllowUsers/c$LINEA_NUEVA" archivo > archivo2#SI DIRECCIONO AL MISMO ARCHIVO EN LA LINEA ANTERIOR NO FUNCIONA. ME DEJA EL ARCHIVO EN 0 BYTES, asi que:mv archivo2 archivo1
Hola Andrés,Como se suele decir medio en bromas.. eso se saca con los "pies" en Perl ;-)
Te podría pasar un "one-liner" de Perl que hace lo que quieres muy sencillo.. pero te recomiendo la lectura de este artículo que se centra en la sustitución de patrones en ficheros:
http://programming.newsforge.com/article.pl? sid=06/03/08/1456241&tid=108&tid=91
Espero que te sea de utilidad.. por lo demás desconozco si es posible hacer lo que quieres tirando de sed y de forma "elegante" ;)
Saludos, -- Santi Saez