[EMAIL PROTECTED] wrote: > Será posible que sea tan jodido esto del sed? Me tiene de la cabeza.
Es así de jodido. Es parte del encanto :) > Lo que estaba tratando de hacer ahora es agregar una linea con el texto > "NUEVO" bajo la primera que cumpla con las 2 siguientes condiciones: > que empiece con "COMIENZO" y que no contenga "STRING_PROHIBIDO". > > En rigor de verdad, lo que necesito es que escriba al final de la línea que > encontró. Seguro que con el comando s como dijo uno de los pibes el otro día, > pero como ni siquiera pude hacer lo primero.. A ver si te entiendo. Considera el siguiente script: ------------------------------------------------ #!/bin/sed -f # Si la linea *no* comienza con COMIENZO, # imprime y vuelve al inicio del programa; /^COMIENZO/!b # (else) si la linea contiene PROHIBIDO, # imprime y vuelve al inicio del programa; /PROHIBIDO/b # (else) agrega " NUEVO" al final, imprime, # e imprime el resto del texto sin mas # comprobaciones. s/$/ NUEVO/ :a n ba ------------------------------------------------ O sin tanto verbo: sed -e '/^COMIENZO/!b' -e '/PROHIBIDO/b' -e 's/$/ NUEVO/' \ -e ':a;n;ba' Si aún quieres el salto de línea, cambia " NUEVO" por "\nNUEVO". > NOTA AL MARGEN: El man y la info de sed es medio chota. > Saludos. La info es una referencia completa y correcta, que parece escrita para ser útil sólo a quien ya sabe sed en primera instancia. O sea, estoy de acuerdo contigo. Pero no me puedo imaginar cómo sería una documentación mejor. Quizá es que sed es difícil de documentar. Saludos. -- César Rincón Enlaces Tecnológicos Guadalajara, México -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

