現在ドットファイルを作成していますが、すべてのTODO: ...
を一覧表示したいと思います。 プロジェクトのディレクトリにコメントがあり、これを行うためにbashエイリアスを作成しました:
alias mytodo='grep --recursive "TODO: "'
それはうまく機能しますが、エイリアス定義も返します。これはサンプル出力です。
[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.
エイリアス定義でその行を具体的に除外するにはどうすればよいですか?
承認された回答:
正規表現がそれ自体と一致しないようにする1つの方法は、文字クラスで1つの文字を囲むことです。
alias mytodo='grep --recursive "TOD[O]: "'
または(StéphaneChazelasへのハットチップ)、パターンに追加の引用符を付けてエイリアスを保存することもできます:
alias mytodo='grep --recursive "TO''DO: "'
その後も行は見つかりませんが、エイリアスには元のパターンが含まれています。これは、たとえばを使用する場合に役立ちます。固定文字列の一致(grep -F
。