¿Cómo escribir un grep que recoja una palabra específica en la tercera línea?

Por ejemplo, si tengo un documento con estas 3 líneas. Sé que … la ^feat coincide con la primera feat y ¿cómo puedo hacer coincidir el reg la tercera línea? Intenté ^reg no parece funcionar.

 feat(ad): make new ad some note here reg(ad): need a walk through 

Tenía la intención de ser utilizado dentro de un file .changelogrc para https://github.com/rafinskipg/git-changelog

Al echar un vistazo a las fonts de esa herramienta, debe habilitar el logging de debugging para ver el command git que se emite y que se registra con this.log('debug', 'Executing : ', git_log_command); . De una mirada rápida a las fonts, diría que obtienes algo así como git log --grep="^feat|^reg" que no es correcto, sino que debe ser git log --grep="^feat\|^reg" . Pero de todos modos, si tiene la línea de logging, puede intentar ejecutar el command de forma autónoma para ver si le funciona y puede jugar con él para averiguar por qué no si no lo hace.

Puedes intentar usar la siguiente expresión regular:

 ^[^\r\n]*?\r\?\n[^\r\n]*?\r\?\nreg 

Esta expresión regular "comerá" dos líneas desde el principio, y luego comprobará si el reg aparece al comienzo de la tercera línea. Tenga en count que utilicé la cantidad \n|\r\n para representar una línea nueva, para cubrir tanto Windows como Linux (nunca mencionó su sistema operativo).

Si quieres hacer coincidir cualquier línea que comience con reg entonces puedes intentar:

 ^(?:[^\r\n]*?\r\?\n)*reg 
    Intereting Posts