grep --before-context 5
mostra 5 righe prima della partita.
Voglio mostrare tutto prima della partita.
Facendo grep --before-context 99999999
funzionerebbe ma non è molto... professionale.
Come mostrare tutto il file fino alla partita?
Risposta accettata:
Sed è meglio per quello.
Basta fare:
sed '/PATTERN/q' FILE
Funziona così:
Per ogni riga, controlliamo se corrisponde a /PATTERN
:
- se sì, lo stampiamo e chiudiamo
- altrimenti, lo stampiamo
Questa è la soluzione più efficiente, perché non appena vede PATTERN
, si chiude. Senza q
, sed continua a leggere il resto del file e non fa nulla con esso. Per file di grandi dimensioni può fare la differenza.
Questo trucco può essere utilizzato anche per emulare head
:
sed 10q FILE