grepを使用して単語内の複数の繰り返し文字を検索する

grepを使用して単語内の複数の繰り返し文字を検索する

「in」という文字が3回繰り返される「interlinking」のような単語があります。 grepを使用して1つの単語で2文字が3回繰り返される別の単語を見つけるためにDictionary.txtファイルを検索する方法

答え1

逆参照が必要です!

すでに一致している項目を参照して再一致させる場合は、逆参照を使用してください。

grep '\(..\)\(.*\1\)\{<n - 1>\}' <file>
  • .*すべての文字シーケンスと一致します。
  • \(..\)2 つの文字を一致させてキャプチャします。
  • \1最初のキャプチャグループと一致します(この場合は先頭\(..\)に近いグループ)。

<n - 1>代替シーケンスの長さを1だけ短くして、それを<file>探しているファイル名に置き換えます(または標準入力を使用する場合は省略してください)。

これは最も効率的な解決策ではありませんが、うまくいきます。

関連情報