Sto cercando di contare il numero di righe dopo una riga problematica in un file CSV. Sono consapevole di poter usare grep -a #
sintassi per produrre # numero di righe dopo che è stata trovata una corrispondenza. Mi interessa solo il numero effettivo di righe. Mi rendo conto che potrei impostare il numero su MAX_INT, inviarlo tramite pipe in un file ed eseguire altre elaborazioni.
Sto cercando un succinto one-liner per dirmi solo il conteggio.
Qualche suggerimento?
Risposta accettata:
{ grep -m1 match; grep -c ''; } <file
Funzionerà con GNU grep
e un lseek()
in grado di infilare. Il primo grep
si fermerà a 1 -m
atch, e il secondo -c
contare ogni riga rimanente in input.
Senza GNU grep
:
{ sed '/match/q'; grep -c ''; } <file
Ovviamente, con grep
puoi inoltre utilizzare qualsiasi/tutte le altre opzioni e fermarsi a una partita non è affatto necessario.