removido
(usa Nenhuma)
Enviado em 27/03/2016 - 01:17h
Como o SED é chatinho vou passar umas dicas. O comando abaixo resume o que se deve fazer:
echo '12345678901234567890123456789012345' | sed -r 's/^[0-9]{5 }([0-9]{6 })[0-9]*$/\1/g
Atenção para o 5 e o 6 destacados na linha depois do sed.
{5} indica que ele deve ler os cinco primeiros caracteres.
{6} indica ler os posteriores seis caracteres em relação aos 5.
E aí você troca os números para ler as posições de linha que você deseja.
Para ler o arquivo você usa
while read i; do
variavel_1=$(echo "$i" | sed ...)
variavel_2=$(echo "$i" | sed ...)
variavel_3=$(echo "$i" | sed ...)
variavel_4=$(echo "$i" | sed ...)
variavel_5=$(echo "$i" | sed ...)
(...)
done < arquivo_de_entrada.txt
A cada passada do loop while o programa lê uma linha do arquivo e joga a linha inteira na variável i.
Depois joga-se a linha contra o sed conforme falado lá em cima.
Os números no sed devem mudar conforme a posição das variáveis na linha.
E cada variavel_X conterá um dado de um campo da linha toda grudada, só que agora separada.
Tem um jeito de se fazer usando o formato ${} do BASH.
Vou deixar como está. Está bom para ser completado. Assim nem eu entrego tudo e nem você fica sem estudar para fazer funcionar.
----------------------------------------------------------------------------------------------------------------
http://24.media.tumblr.com/tumblr_m62bwpSi291qdlh1io1_250.gif
# apt-get purge systemd (não é prá digitar isso!)
Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden