¿Cuál es la mejor manera de obtener solo la coincidencia final de una expresión regular en un archivo usando grep?
Además, ¿es posible comenzar a grepping desde el final del archivo en lugar del principio y detenerse cuando encuentra la primera coincidencia?

tac file | grep -m 1 patterngrep -n) en el archivo real, creotacque debía evitarse, a menos que quisiera restarle algowc -l. De lo contrariotac, congrep -m1tiene mucho sentido.grepdejará de funcionar después del primer partido. sin-m 1,grepprimero encontrará todos los patrones coincidentes en el archivo , luegoheadmostrará solo el primero, mucho menos eficiente. ¡Dennis, por favor considere publicar esto en una respuesta separada!Para alguien que trabaja con grandes archivos de texto en Unix / Linux / Mac / Cygwin. Si usa Windows, consulte esto sobre las herramientas de Linux en Windows: https://stackoverflow.com/questions/3519738/what-is-the-best-way-to-use-linux-utilities-under-windows .
Uno puede seguir este flujo de trabajo para tener un buen rendimiento:
zqel paquete.Cita de su léame github:
Crear un índice
Consultando el índice
fuente
Siempre estoy usando cat (pero esto lo hace un poco más largo):
cat file | grep pattern | tail -1Culparía a mi maestro del curso de administración de Linux en la universidad que ama los gatos :))))
- No tiene que atrapar un archivo antes de agarrarlo.
grep pattern file | tail -1y es más eficiente también.fuente
catel archivo y canalizarlogrep. Puedegrepbuscar el archivo directamente a través degrep pattern file(y luego usarlotailpara devolver el último resultado), como en la respuesta de Cakemox.