連続して複数回繰り返されるすべての行のみを抽出する次のコマンドがあります。このコマンドsed
とperl
コマンドを編集して、行末の最初と2番目の文字が繰り返されないように除外したいと思います。
perl -lne 'print if /^((.)\2+(?!\2))+$/'
sed -Ee '/^((.)\2+)+$/!d' input.txt
同じ行の最後または最後の2文字を除いて、連続して繰り返される文字を持つすべての行を印刷したいと思います。連続していない繰り返し文字は許可されますが、大きなテキストファイルでは行末の最初または2番目の文字としてのみ許可されます。
たとえば、入力ファイルには次のものが含まれます。
111224
447758
1122323
15225168
55226565
出力ファイルには以下を含める必要があります。
111224 (only last character is not consecutively repeated)
447758 (only the last two characters are not consecutively repeated)
ありがとう
答え1
私の言葉によると回答前の質問から:
sed -En 'h;:a;s/^(.)\1+//;ta;/^.{1,2}$/{x;p}' file