0

たとえば、テキストファイルの文字列「abcabc」を一致させたい場合、2つ(および2つだけ)の「abc」が一緒に添付され、「abcabc」の前後に文字はありませんか?

grep -n'(abc){2}' TESTを使用すると、機能しません

4

5 に答える 5

1

括弧をエスケープします。

grep -n '\(abc\)\{2\}' TEST

abcabc説明が示唆しているように、行の文字列だけを一致させたい場合は、次を使用します。

grep -n '^\(abc\)\{2\}$' TEST
于 2012-06-04T07:24:13.693 に答える
1

これが最短の選択肢です。

^abcabc$
于 2012-06-04T07:24:26.910 に答える
1

試す:

egrep '\b(abc){2}\b' input
于 2012-06-04T07:24:34.847 に答える
0

これが適合することを確認してください。

$ grep '\<abcabc\>'
test
abcabc
abcabc
test abcabc
test abcabc
testabcabc
于 2012-06-04T08:04:51.907 に答える
0

みんなありがとう、あなたの答えから、私は私が必要なものを持っていると思います。

質問で言ったように、「abcabc」と一致させたいのですが、「」を繰り返しただけで、「abc」の前後に他の文字abcabcはありませんが、その行の文字列は「」だけではありません。

したがって、答えは次のとおりです。

grep -n "\b\\(abc\\)\\{2\\}\b" filename
于 2012-06-05T03:23:19.423 に答える