grep --before-context 5
muestra 5 líneas antes del partido.
Quiero mostrar todo antes del partido.
Hacer grep --before-context 99999999
funcionaría pero no es muy... profesional.
¿Cómo mostrar todo el archivo hasta el partido?
Respuesta aceptada:
Sed es mejor por eso.
Solo haz:
sed '/PATTERN/q' FILE
Funciona así:
Para cada línea, buscamos si coincide con /PATTERN
:
- si es así, lo imprimimos y salimos
- de lo contrario, lo imprimimos
Esta es la solución más eficiente, porque tan pronto como ve PATTERN
, se cierra. Sin q
, sed continuaría leyendo el resto del archivo y no haría nada con él. Para archivos grandes puede marcar la diferencia.
Este truco también se puede usar para emular head
:
sed 10q FILE