Ich erstelle gerade meine Dotfiles und möchte alle TODO: ...
auflisten Kommentare im Verzeichnis meines Projekts habe ich dafür einen Bash-Alias erstellt:
alias mytodo='grep --recursive "TODO: "'
Es funktioniert gut, gibt jedoch auch die Alias-Definition zurück. Dies ist die Beispielausgabe.
[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.
wie kann ich diese Zeile gezielt mit der Alias-Definition ausschließen?
Akzeptierte Antwort:
Eine Möglichkeit, einen regulären Ausdruck daran zu hindern, sich selbst zu finden, besteht darin, ein einzelnes Zeichen in eine Zeichenklasse einzuschließen:
alias mytodo='grep --recursive "TOD[O]: "'
Alternativ (Hutspitze an Stéphane Chazelas) könnten Sie den Alias mit zusätzlichen Anführungszeichen im Muster speichern:
alias mytodo='grep --recursive "TO''DO: "'
Dann wird die Zeile immer noch nicht gefunden, aber der Alias enthält das ursprüngliche Muster. Dies ist hilfreich, wenn Sie z. eine feste Zeichenfolgenübereinstimmung (grep -F
).