Possível solução
sed 's/^....-\(..\)-\(..\)/./'
Esses vários pontos podem não ser elegantes; o comando não se importa se lida com números; não importa se há algo mais na primeira "coluna". Esses problemas podem ser corrigidos com uma abordagem mais complexa, mas em sua forma atual, o comando é bastante simples.
O comando geral sed 's/A/B/' substitui o padrão A por B , no máximo uma vez por linha.
Em que A , neste caso, consiste em:
-
^- o começo de um marcador de linha, -
....- exatamente quatro caracteres, -
-- literal-, -
(..)- exatamente dois caracteres referenciados depois com, -
-- literal-, -
(..)- exatamente dois caracteres referenciados posteriormente com.
E B é
-
- o que estava no segundo()emA, -
.- literal., -
- o que estava no primeiro()emA.
Além disso, ( e ) têm o escape de \ .
Para processar um arquivo, adicione-o como o último argumento. Para processar um arquivo, use -i , por exemplo,
sed -i 's/^....-\(..\)-\(..\)/./' myfile.txt