msoliver
(usa Debian)
Enviado em 12/12/2020 - 23:57h
tiagocp escreveu:
Galera bom dia,
Estou tentando descaracterizar um arquivo posicional para posterior transmissão em shell script e preciso de uma ajuda!!
Tenho um arquivo posicional de 1000 caracteres e da posição 11 até a 100, 300 até 350 e 600 até o fim do arquivo preciso substituir a informação por espaço em branco.
Tentei utilizar o SED mas tenho batido a cabeça para substituir os espaços em branco.
Segue o comando mas não tenho tido o resultado esperado ainda.
sed -i -r 's/(^.{10})(.{90})(.{200})(.{50})(.{250})(.*$)/\1(\s{90})\3(\s{50})\5/g' Arquivo.txt
É possível fazer isso?
Desde já agradeço a ajuda.
Boa noite.
segue sugestão com o gawk:
Se, tem um arquivo de 1000 caracteres, e serão eliminados os caracteres:
11 a 100, 300 a 350 e 600 a 1000.
O seu arquivo tem "6 campos"
Com os tamanhos:
"10 90 200 50 250 400"
awk 'BEGIN{FIELDWIDTHS="10 90 200 50 250 400"} {gsub(".", "#", $2);gsub(".", "#", $4);gsub(".", "#", $6);printf "%s%s%s%s%s%s\n" ,$1,$2,$3,$4,$5,$6}' 1000zeros
1111111111##########################################################################################00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000##################################################0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000################################################################################################################################################################################################################################################################################################################################################################################################################
Obs.: Gerei um arquivo com 1000 Zeros para efetuar os testes, e troquei o "0" por "#"
______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando:
lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p' ,
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/",
Mostrando o seguinte:
Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.
______________________________________________________________________