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.