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.