Je suis en train de construire mes dotfiles et je veux lister tous les TODO: ...
comments dans le répertoire de mon projet, j'ai créé un alias bash pour cela :
alias mytodo='grep --recursive "TODO: "'
Cela fonctionne bien, cependant, il renvoie également la définition d'alias. ceci est l'exemple de sortie.
[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.
comment puis-je exclure spécifiquement cette ligne avec la définition d'alias ?
Réponse acceptée :
Une façon d'empêcher une expression rationnelle de se correspondre est d'inclure un seul caractère dans une classe de caractères :
alias mytodo='grep --recursive "TOD[O]: "'
Alternativement (coup de chapeau à Stéphane Chazelas), vous pouvez enregistrer l'alias avec des guillemets supplémentaires dans le modèle :
alias mytodo='grep --recursive "TO''DO: "'
Ensuite, la ligne ne sera toujours pas trouvée, mais l'alias contient le modèle d'origine. Ceci est utile lorsque vous souhaitez utiliser par exemple. une correspondance de chaîne fixe (grep -F
).