Tenho um arquivo contendo valores que devem ser obscurecidos (substituídos por XX), mas eles nem sempre estão na mesma posição dentro de toda a linha, e não sei seu conteúdo. O que sei, no entanto, é sua posição relativa a uma correspondência específica.
Por exemplo, quero que o terceiro e o quarto número depois de "00 00" sejam substituídos por XX
Original:
AA BB CC 00 00 01 02 03 04 05 06 07
AA BB CC DD EE FF 00 00 08 09 10 11 12 13 14
Saída desejada:
AA BB CC 00 00 01 02 XX XX 05 06 07
AA BB CC DD EE FF 00 00 08 09 XX XX 12 13 14
Eu tentei com awk, mas só consegui me posicionar em relação ao começo da linha. Existe uma maneira de indexar $2 e $3 de uma correspondência específica, por exemplo?
Edição: só pode haver uma ocorrência de 00 00
na linha, ela não pode conter, 00 00 00
não há necessidade de se preocupar com correspondência inicial ou final.
Minha tentativa (embaraçosa) até agora foi:
cat file | awk -F'00 00' '{print $2}' | awk '{gsub ($3,"XX",$0);gsub ($4,"XX",$0)}1'
Além dos vários awks, também perco o início das linhas, pois tudo antes da partida é descartado pelo meu primeiro awk