zzzzzzzzz
aaaaaaaaa
bbbbbbbbb &
ccccccccc &
ddddddddd
hhhhhhhhh
eeeeeeeee
fffffffff &
ggggggggg &
en la línea anterior, lo que quiero es grep
/ sed
/ awk
(cualquier método está bien) una línea que tenga un &
signo más una línea encima. así, por ejemplo, el resultado deseado se verá así:
aaaaaaaaa
bbbbbbbbb &
ccccccccc &
eeeeeeeee
fffffffff &
ggggggggg &
Lo siguiente es lo que he intentado sin suerte.
egrep "&" | -b 1 file.txt
text-processing
sed
awk
grep
Rana Khan
fuente
fuente
GNU/grep
no está disponible, ¡gracias!Aquí se explica cómo emular
grep -B1
consed
:Es muy similar al de aquí . Al igual que el otro, se lee en la
N
línea de extensión, pero esta vez, seP
alinea hasta la primera línea de\n
flujo si el espacio del patrón coincide , y luego, al igual que el otro,D
elige la primera línea de\n
flujo y reinicia el ciclo. Entonces, con su entrada de muestra:salidas:
Nuevamente, para ver cómo funciona, agregue
l
antes y después deN
para ver el espacio del patrón ::por ejemplo, con un archivo de muestra:
Estos son los comandos que se
sed
ejecutan y la salida correspondiente:fuente