隣接する反復数を含む行を見つける方法

隣接する反復数を含む行を見つける方法

データがこのようなファイルにあるシナリオがあります。

データ:

1234 2271 4423
8901 1234 2569
1234 5678 9107
1134 7896 6780

出力は次のようになります。

    1234 2271 4423
    8901 1234 2569
    1134 7896 6780

行全体を検索する必要があり、隣接する数字が繰り返される場合は行全体を表示します。 「隣接する」数字はスペースで区切ることができます(他の数字では区別できません)。

たとえば、

1234 2271 4423  -> in this 2271 -> [2][2] 71 -> the 2 digit is adjacently repeated.

同様に、別の隣接する重複があります - > 4423 - > [4] [4] 23

1134 7896 6780
In this also -> [1][1]34 and 789[6] [6]780

私はこの解決策を得ました。誰かが正確に何を意味するのか、そして他の簡単な方法を説明できますか?いくつかのアイデアを得るために正しい説明を共有して提供してください。

command 1 : grep '\([0-9]\) *\1'
command 2 : grep '\([0-9]\)\s*\1'
command 3 : grep  '\(\d\)\s*\1'
command 4 : grep -e '([0-9])\1' -e '([0-9]) \1'

ベストアンサー1

grep私が正しく理解したなら、これはGNUの可能性です。

grep -P "([0-9])[[:blank:]]?\1" file

出力:

1234227144二十三
8901 1234 2569
11347896 6780

おすすめ記事