mario-bugre.vol
(usa Puppy Linux)
Enviado em 08/09/2017 - 08:40h
fazendo a variavel só para usar no echo:
V="0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 A00000000000000101460000000000000000000000000000000000000000000000000000000000N00000000000000000000000000000000000000303010070213303399991104021007020099226270000000"
echo $V|sed 's/./|/1'|sed 's/./0|/7'|sed 's/./0|/10'|sed 's/./0|/14'|sed 's/./0|/18'|sed 's/./0|/32'|sed 's/./0|/37'
resultado:
|000000|00|000|000|0000000000000|0000|000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 A00000000000000101460000000000000000000000000000000000000000000000000000000000N00000000000000000000000000000000000000303010070213303399991104021007020099226270000000
um "."(ponto) representa uma letra(..=2 ...=3) a ser trocada, "|0" é que ficara no lugar, observe que adiciona o "|"(pipe) trocando o "0" por "|0", 1 é o local na string onde ocorerá a troca, sendo assim troca em 1, 7, 10, 14, 18, 32, 37 sempre relativo ao tamanho da string original.
mas nao servirá se vc tem os numeros aleatórios. Eu uso assim para renomear lotes de nomes de musica com espaços, maiúsculas e acentuação.
o sed tem outro comando que insirirá os pipes em locais determinados por vc.
veja neste link do VoL
https://www.vivaolinux.com.br/topico/Sed-Awk-ER-Manipulacao-de-Textos-Strings/Ajuda-Inserir-caracter...