Tengo un archivo de texto que muestra una gran cantidad de apariciones aleatorias de la cadena @STRING_A, y me gustaría escribir un breve script que solo elimine algunos de ellos. En particular uno que explora el archivo y una vez que encuentra una línea que comienza con esta cadena comoBash o Python para ir hacia atrás?
@STRING_A
entonces comprueba si 3 líneas hacia atrás hay otra ocurrencia de una línea que comienza con la misma cadena, como
@STRING_A
@STRING_A
y si sucede, para eliminar la aparición 3 líneas hacia atrás. Estaba pensando en bash, pero no sé cómo "ir hacia atrás" con él. Así que estoy seguro de que esto no es posible con bash. También pensé en Python, pero luego debería almacenar toda la información en la memoria para ir hacia atrás y luego, para archivos largos, sería inviable.
¿Qué opinas? ¿Es posible hacerlo en bash o python?
Gracias
Cómo en el mundo no clasificar un archivo alfabéticamente (sort -r) o la salida de las últimas n líneas de un archivo (-n) la cola de resolver este problema? –
¿Qué OS estás usando? sort -r no ordena alfabéticamente en Linux. He editado para mayor claridad. http://www.thelinuxblog.com/linux-man-pages/1/sort http://www.thelinuxblog.com/linux-man-pages/1/tail –
¿Y qué hay de 'tac'? – log0