GNU/Linux >> Linux Esercitazione >  >> Linux

Trova solo la prima occasione usando solo Grep?

Supponiamo di avere un file con molte parole, voglio trovare solo la prima parola con il modello "xyz". Come faccio se ci sono più parole con questo schema sulla stessa riga?
-m restituisce tutte le parole nella prima riga in cui corrisponde. Ho solo bisogno del comando grep.

Risposta accettata:

Per impostazione predefinita grep stampa le linee corrisponde a un modello, quindi se il modello appare una o più volte in una riga, grep stamperà l'intera riga.

Aggiunta del flag -m 7 dirà a grep per stampare solo le prime 7 righe in cui appare il motivo.

Quindi questo dovrebbe fare quello che vuoi (non l'ho testato):

grep -o -m 1 xyz myfile | head -1

Modifica:come sottolineato da @Kusalananda, non è strettamente necessario il -m flag ma usarlo significa grep non avrà bisogno di analizzare l'intero file e produrrà il risultato più velocemente, specialmente se myfile è un file di grandi dimensioni.


Linux
  1. Corrispondenza di pattern multilinea utilizzando Sed, Awk o Grep?

  2. Come fermare il comando Trova dopo la prima partita?

  3. Come trovare testo specifico usando GREP su Linux

  4. Trovare file eseguibili usando ls e grep

  5. Grep in un file di registro enorme (> 14 GB) solo l'ultimo x GB?

Risolvi Wordle usando la riga di comando di Linux

Come eseguire la ricerca del modello nei file utilizzando Grep

Come trovare i file usando la riga di comando nel terminale Linux

Utilizzo del comando GREP in Linux con esempi

Utilizzo del comando trova Linux:utilizzo con esempi

Trova testo nei file su Linux usando grep