text-processing – Eliminar la línea que contiene cierta cadena y la siguiente línea

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á.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım