Supongamos que tengo un archivo con muchas palabras, quiero encontrar solo la primera palabra con el patrón "xyz". ¿Cómo lo hago si hay varias palabras con este patrón en la misma línea?-m devuelve todas las palabras de la primera línea en las que coincide. Solo necesito el comando grep.
Respuesta aceptada:
Por defecto grep imprime las líneas coincide con un patrón, por lo que si el patrón aparece una o más veces en una línea, grep imprimirá toda esa línea.
Agregando la bandera -m 7 le dirá a grep para imprimir solo las primeras 7 líneas donde aparece el patrón.
Así que esto debería hacer lo que quieras (no lo he probado):
grep -o -m 1 xyz myfile | head -1
Editar:como lo señaló @Kusalananda, no necesita estrictamente el -m flag pero usarlo significa grep no necesitará analizar todo el archivo y generará el resultado más rápido, especialmente si myfile es un archivo grande.