2017-12-10 4 views
0

私のプロジェクトでは、 "/ baz"を含むファイルと一致させようとしています。だから、私は次の操作を行います。grepがワード境界で前方スラッシュにマッチしないのはなぜですか?(例: `./foo/bar/baz 'の` `import baz'の`/baz`;

grep -rnw . -e "\/baz" 

出力が正しく、次のインスタンスと一致します。

import { baz } from './baz'; 

しかし、この行に一致していないようです:

import { baz } from './foo/bar/baz'; 

それが一致しないとしかし、私が"bar\/baz"でgrepすれば。どうしたの?

答えて

1

あなたのgrepコールから-w引数を削除してください。 grepヘルプから:

-w、全体のみ言葉

に一致するように--word-正規表現力PATTERNそれは、したがって、それは単語の境界に囲まれた単語全体(だ場合にのみ、あなたのパターンに一致しますこうしたドット、空白、行の始め/終わり...)

+0

素晴らしい!ありがとう。マニュアルページが含まれているので、答えとしてマークします。 –

1

としてあなたはwordフラグなし

grep -rn . -e "\/baz" 

を必要としています。そうでなければ、式は第2の例では見つけられない単語境界を探す。

+0

素晴らしい!ありがとう。 –

関連する問題