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.