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