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