Me han encargado algo bastante doloroso y me preguntaba si alguien podría ayudar.Eliminando bloques de texto del archivo de texto enorme
Nuestro proveedor ha proporcionado un archivo SNMP mib (txt). Desafortunadamente, una gran cantidad de este archivo está desactualizado y debe ser eliminado para nuestra aplicación de monitoreo.
He intentado hacer esto a mano, pero tiene más de 800,000 líneas, y está minando mi deseo de vivir.
La estructura es algo así como:
-- /*********************************************************************************/
-- /* MIB table for Hardware */
-- /* Valid from: 543.44 */
-- /* Deprecated from: 600.3 */
-- /*********************************************************************************/
Some text
some text
Some text
-- /*********************************************************************************/
-- /* MIB table for Hardware */
-- /* Valid from: 543.44 */
-- /*********************************************************************************/
Some text
some text
Some text
-- /*********************************************************************************/
-- /* MIB table for Hardware */
-- /* Valid from: 364.44 */
-- /* Deprecated from: 594.3 */
-- /*********************************************************************************/
repetida hasta el cansancio al azar y ad
Lo que estoy pensando, es un script que:
encuentra el texto "no se utiliza en" luego
delete that line,
delete the preceding 3 lines,
delete the following one line,
delete then all following lines until the next
"-- /*********************************************************************************/"
¿Tiene esto sentido? ¿Es posible este tipo de cosas o solo estoy soñando?
Gracias!
Eliminación del 'Deprecated' a la'/** ... 'es bastante fácil, eliminar las 3 líneas anteriores es algo más difícil. – Kevin
Creo que manejar esto con sed o awk me quitaría _mi_ voluntad de vivir. Perl u otro idioma que le permita analizar los límites de la línea es una mejor opción para este problema. –