GNU/Linux >> Linux の 問題 >  >> Linux

Grep –recursiveを使用して、「不要な」および「必要な」単語を含む特定の行を除外するにはどうすればよいですか?

現在ドットファイルを作成していますが、すべての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


Linux
  1. Linux –特定の単語をgrepしてテキストを取得する方法は?

  2. 一致する各行の上下の行をgrepで印刷するにはどうすればよいですか?

  3. grepを使用して単語の接頭辞を削除するには?

  1. コマンドラインを使用してMySQLでデータベースを作成する方法

  2. Linuxでエイリアスを作成してエイリアスコマンドを使用する方法

  3. 特定の列の内容を awk に置き換える方法は?

  1. Linuxコマンドラインでのパイプの操作

  2. 複数のパターンでGrepを実行する方法は?

  3. 「猫」の出力で単語を強調表示する方法は??