
msoliver
(usa Debian)
Enviado em 20/05/2020 - 19:47h
lacerdat25 escreveu:
Ola galerinha!
Gostaria de saber como eu faço para coletar algumas posições especificas de uma linha num arquivo de texto?
EX da linha filtrada:
0002379 32020051800000000004566390 22594565 0000000213
QUERO coletar:
0002379 20200518 22594565 213
Após quero colocar um abaixo do outro:
0002379
20200518
22594565
213
Estou trabalhando com AWK, mas não consigo realizar o filtro por valores específicos, já com o CUT, só pego um valor!
Obrigado pela ajuda!
Boa noite Lacerda, segue:
awk 'BEGIN{FIELDWIDTHS="7 2 8 18 8 8 3"} {OFS="\n";print $1,$3,$5,$7"\n"}' linha.txt
Ou
linha="0002379 32020051800000000004566390 22594565 0000000213"
read -a fld <<< ${linha}
echo -e "${fld[0]}\n${fld[1]:0:8}\n${fld[2]}\n${fld[3]//0}"
0002379
32020051
22594565
213
Obs.:
FIELDWIDTHS="7 2 8 18 8 8 3", define o "tamanho" de cada campo.
Se a linha tem sempre o mesmo nº de caracteres, dará certo....
É isso.....
______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________