GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso limitare il numero di risultati restituiti da grep?

Un'altra opzione è semplicemente usare head:

grep ...parameters... yourfile | head

Ciò non richiederà la ricerca dell'intero file:si interromperà quando verranno trovate le prime dieci righe corrispondenti. Un altro vantaggio di questo approccio è che non restituirà più di 10 righe anche se utilizzi grep con l'opzione -o.

Ad esempio se il file contiene le seguenti righe:

112233
223344
123123

Quindi questa è la differenza nell'output:

$ grep -o '1.' yourfile | head -n2
11
12

$ grep -m2 -o '1.'
11
12
12

Utilizzando head restituisce solo 2 risultati come desiderato, mentre -m2 restituisce 3.


Il -m opzione è probabilmente quello che stai cercando:

grep -m 10 PATTERN [FILE]

Da man grep :

-m NUM, --max-count=NUM
        Stop reading a file after NUM matching lines.  If the  input  is
        standard  input  from a regular file, and NUM matching lines are
        output, grep ensures that the standard input  is  positioned  to
        just  after the last matching line before exiting, regardless of
        the presence of trailing context lines.  This enables a  calling
        process  to resume a search.

Nota:grep interrompe la lettura del file una volta trovato il numero specificato di corrispondenze!


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

  2. Come rimuovere le linee che appaiono sul file B da un altro file A?

  3. Come ottenere solo il numero di righe di un file

  4. Come reindirizzare i risultati di "trova" a mv in Linux

  5. Come modificare i file in base ai risultati del comando find

Come usare il comando Linux grep

5 modi per contare il numero di righe in un file

Grep:perché le parentesi nel modello Grep rimuovono il processo Grep dai risultati di Ps?

Come trovare il numero di linee verticali disponibili nel terminal?

Come creare un grafico grafico di una sequenza di numeri dall'input standard?

Linux:grep da determinate righe alla fine del file