J'utilise ça
cat foo.txt | sed '/bar/d'
pour supprimer les lignes contenant la chaîne bar
dans le fichier.
Je voudrais cependant supprimer ces lignes et la ligne juste après . De préférence en sed
, awk
ou un autre outil disponible dans MinGW32.
C'est une sorte d'inverse de ce que je peux obtenir dans grep
avec -A
et -B
pour imprimer les lignes correspondantes ainsi que les lignes avant/après la ligne correspondante.
Existe-t-il un moyen simple d'y parvenir ?
Réponse acceptée :
Si vous avez GNU sed (donc Linux non embarqué ou Cygwin) :
sed '/bar/,+1 d'
Si vous avez bar
sur deux lignes consécutives, cela supprimera la deuxième ligne sans l'analyser. Par exemple, si vous avez un fichier bar
de 3 lignes /bar
/foo
, le foo
la ligne restera.