Como imprimir apenas as linhas especificadas?

1

Eu quero especificar a saída do arquivo de texto em um comando como abaixo:

  1. Imprima todas as linhas com todos os caracteres duplicados consecutivos.
  2. Imprima todas as linhas com todos os caracteres repetidos consecutivamente, exceto o último ou os dois últimos caracteres na mesma linha.
  3. Imprima todas as linhas com todos os caracteres repetidos consecutivamente, exceto o primeiro ou os dois primeiros caracteres na mesma linha.

Exemplo:

11122323 1112266 44778 223334456 6778811 845511 3357788

A saída deve ser

1112266   >>>>> All repeated characters. 
44778     >>>>> All repeated except the last character.
223334456   >>> All repeated except the last two characters
6778811    >>>> All repeated except the first character.
845511     >>>> All repeated except the first two characters.

Caracteres não repetitivos consecutivos são permitidos, mas somente se primeiro ou segundo do início ou fim de uma linha. Primeira linha excluída porque tem 3 não repetida consecutivamente.

Eu tentei o seguinte comando, mas ele também encontra caracteres duplicados não consecutivos.

awk '
        {split ("", N)                                                  # delete N array
         P = 1                                                          # reset boolean L used for print decision
         L = length
         for (i=1; i<=L; i++) N[substr($0, i, 1)]+=((i<3)||(i>L-2))?2:1 # calculate  char count; doubly weigh leading/trailing
         for (n in N)   if (N[n] < 2)   {P = 0                          # for non-duplicate chars: set print decision
                                         break                          # and quit the for loop
                                        }

        }
P                                                                       # print if non-duplicate chars exist only at margins
' file
    
por Ahmed 22.10.2018 / 21:21

0 respostas