Pregunta:
yo uso esto
cat foo.txt | sed '/bar/d'
para eliminar las líneas que contienen la bar
cadena en el archivo.
Sin embargo, me gustaría eliminar esas líneas y la línea directamente después . Preferiblemente en sed
, awk
u otra herramienta que esté disponible en MinGW32.
Es una especie de reverso de lo que puedo obtener en grep
con -A
y -B
para imprimir líneas coincidentes, así como líneas antes / después de la línea coincidente.
¿Existe alguna manera fácil de lograrlo?
Respuesta:
Si tiene GNU sed (es decir, Linux o Cygwin no integrado):
sed '/bar/,+1 d'
Si tiene bar
en dos líneas consecutivas, esto eliminará la segunda línea sin analizarla. Por ejemplo, si tiene un archivo bar
/ bar
/ foo
3 líneas, la línea foo
permanecerá.