msoliver
(usa Debian)
Enviado em 28/08/2023 - 16:54h
Boa tarde Biliati.
A explicação da "Assistente Virtual" esta equivocada...
O comando proposto:
sed 's/./&;/4g arquivo
separa cada caractere com ';', a partir do 4º caractere.
O 4g, indica que deve ser feito a partir da 4ª ocorrência.
____________________________________________
Sugestão 01:
sed -r 's/#.{4}/&;/;s/#.{8}/&;/;s/#.{14}/&;/' arquivo.txt
banana.teste1;teste2;teste3#5747;139;31753;7277
Sugestão 02, - Com retrovisores:
sed -r 's/(#.{4})(.{3})(.{5})/\1;\2;\3;/' arquivo.txt
banana.teste1;teste2;teste3#5747;139;31753;7277
Sugestão 3 - bash
IFS="#" read -a c <<< "banana.teste1;teste2;teste3#5747139317537277"
echo "${c[0]}#${c[1]:0:4};${c[1]:4:3};${c[1]:7:5};${c[1]:12:4}"
banana.teste1;teste2;teste3#5747;139;31753;7277
Sugestão 4 - awk
awk -F"#" '{print $1"#" gensub(/(.{4})(.{3})(.{5})(.{4})/, "\\1;\\2;\\3;\\4", "g", $2)}' regras.txt
banana.teste1;teste2;teste3#5747;139;31753;7277
É isso . . .
______________________________________________________________________
Importante:
lynx --dump
https://www.vivaolinux.com.br/termos-de-uso/ | sed -nr '/^[ ]+Se/,/dou.$/p'
______________________________________________________________________
Nota de esclarecimento:
O comando:
ACIMA, faz parte da minha assinatura.
Att.: Marcelo Oliver
______________________________________________________________________