Actualmente estoy creando mis archivos de puntos y quiero enumerar todas las TODO: ...
comentarios en el directorio de mi proyecto, creé un alias bash para hacer esto:
alias mytodo='grep --recursive "TODO: "'
Funciona bien, sin embargo, también devuelve la definición de alias. esta es la salida de muestra.
[email protected]$ mytodo
bash/profile.d/aliases/: alias mytodo='grep --recursive "TODO: "'
bin/git_branch_status/: # TODO: Add checking of remote branch status.
tools/setup/: # TODO: Add search for existing symlinks.
¿Cómo puedo excluir específicamente esa línea con la definición de alias?
Respuesta aceptada:
Una forma de evitar que una expresión regular coincida consigo misma es encerrar un solo carácter en una clase de carácter:
alias mytodo='grep --recursive "TOD[O]: "'
Alternativamente (felicitación a Stéphane Chazelas), puede guardar el alias con comillas adicionales en el patrón:
alias mytodo='grep --recursive "TO''DO: "'
Entonces la línea aún no se encontrará, pero el alias contiene el patrón original. Esto es útil cuando desea utilizar, por ejemplo. una coincidencia de cadena fija (grep -F
).