📋

rfコマンドをgrepコマンドの代わりとして使う

に公開

grepコマンドの代わりとして使う

テキストフィルタリングで最もよく使われるのは、正規表現による文字列のマッチング処理でしょう。基本的なテキストフィルタリングの項でも説明しましたが、rfコマンドにおいては正規表現リテラルを指定するだけで実現しますが、正規表現のパターンだけを記述したくなります。そこで、利用できるのがgrepサブコマンドです。名前の通りgrepコマンドと同等のことを行います。

コマンドの説明

grepサブコマンドの書式は以下の通りです。

> rf grep [オプション] '正規表現パターン' [ファイルパス]

# grepを短くすることもできる
> rf g [オプション] '正規表現パターン' [ファイルパス]

指定できるオプションはgrepコマンドとほぼ同等のものが使用できます。そのため、使用するシェルにおいてaliasするとgrepコマンドを置き換えることができます。

> alias grep='rf grep'

利用例

grepサブコマンドの利用例を見ていきます。ここでは以下のファイルを例に説明します。

example-1.txt
foo
FOObar
bar
baz

特定の文字列を含んだ行のみ表示する

grepサブコマンドにマッチさせたい文字列パターンを指定すると、その文字列パターンにマッチした行のみ表示します。

> rf grep foo example-1.txt
foo

テキストフィルタと同様に文字列パターンにマッチした部分が色付して出力されます。

色付けされた出力

大文字・小文字を区別しない

-iを指定すると文字列パターンの大文字・小文字を区別しないように指定できます。

> rf grep -i foo example-1.txt
foo
FOObar

複数のパターンにマッチさせる

-e オプションを使用すると複数の文字列パターンを指定できます。-eは複数指定することができ、指定されたどれかの文字列パターンにマッチした行を表示します。

> rf grep -e foo -e baz example-1.txt
foo
baz

もちろん、-iと同時に指定することもできます。

> rf grep -i -e foo -e baz example-1.txt
foo
FOObar
baz
GitHubで編集を提案

Discussion