GNU/Linux >> Linux Esercitazione >  >> Linux

Come contare il numero di righe in un file dopo una corrispondenza Grep?

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.


Linux
  1. Come scorrere le righe di un file?

  2. Contare il numero totale di occorrenze utilizzando Grep?

  3. Contare le righe in un file?

  4. Come contare il numero di righe in un file in Linux (esempi di comandi wc e nl)

  5. Come contare le righe in un documento?

Come contare le occorrenze di parole in un file di testo

5 modi per contare il numero di righe in un file

Come ottenere solo il numero di righe di un file

Come grep \n nel file

Conta il numero di caratteri, parole e righe in PowerShell

Come ottenere righe che contengono stringhe in un file?