zzzzzzzzz
aaaaaaaaa
bbbbbbbbb &
ccccccccc &
ddddddddd
hhhhhhhhh
eeeeeeeee
fffffffff &
ggggggggg &
dans la ligne ci-dessus, ce que je veux, c'est une ligne grep
/ sed
/ awk
(n'importe quelle méthode est très bien) qui a un &
signe plus une ligne au-dessus d'eux. ainsi, par exemple, la sortie souhaitée ressemblera à:
aaaaaaaaa
bbbbbbbbb &
ccccccccc &
eeeeeeeee
fffffffff &
ggggggggg &
voici ce que j'ai essayé sans chance.
egrep "&" | -b 1 file.txt
la source
GNU/grep
n'est pas disponible, merci!Voici comment émuler
grep -B1
avecsed
:C'est très similaire à celui ici . Tout comme l'autre, il lit dans la
N
ligne ext mais cette fois, ilP
imprime jusqu'à la première ligne\n
électronique si l'espace de motif correspond , puis, tout comme l'autre, seD
termine jusqu'à la première ligne\n
électronique et redémarre le cycle. Donc, avec votre exemple d'entrée:les sorties:
Encore une fois, pour voir comment cela fonctionne, ajoutez
l
avant et après leN
pour regarder l'espace modèle:par exemple avec un exemple de fichier:
ce sont les commandes qui
sed
s'exécutent et la sortie correspondante:la source