shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Arquivo Zonado CNAB400


From: MrBiTs
Subject: Re: [shell-script] Arquivo Zonado CNAB400
Date: Wed, 27 Jan 2010 06:43:04 -0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.7) Gecko/20100111 Lightning/1.0b1 Thunderbird/3.0.1

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 01/27/2010 12:47 AM, Ernander (Nander) wrote:
> Olá Lista!
> 
> Tenho um Pequeno problema com um Arquivo Zonado. Para gerar um BOLETO em
> umprograma que importa Arquivos TXT,  eu preciso que essearq1uivo esteja
> separado por ";" de acordo com o layout a seguir:

Primeiro, umas dicas:
- - Ao invés de mandar sua chave pública com a mensagem, assine-a. Mande sua 
chave publica para um keyserver e, quando alguém
necessitar dela, pode ir buscá-la nele.
- - Você não precisava enviar todo o layout do CNAB E ainda os exemplos ou 
valores de campos fixos. Vê-se que você simplesmente copiou
e colou a coisa, com zero de preocupação com as pessoas que leriam o e-mail. 
Cinco exemplos seriam mais que suficientes. Isso abre
berchas para algumas interpretações...

Os CNAB são muito legais de se trabalhar. Acho que arquivos delimitados 
economizam espaço, mas os dados quadrados me remetem a boas
lembranças.

Você vai ter que tratar a linha toda como uma grande única string, e vai 
cortá-la em pedaços. Outras linguagens permitiriam a você
mapear a linha, mas em shell eu faria algo como:

LINHA="103218180360000910220755773000195Cesenge Engenharia Ltda"

TPREG=${LINHA:0:1}
TPEMP=${LINHA:1:2}
CNPJ=${LINHA:3:15}
CPF=${LINHA:18:15}

E vai por aí. Você deve ter notado que o índice começa em 0 e que é sempre 
VARIAVEL:POSIÇÃO DE INÍCIO:QUANTIDADE DE POSIÇÕES.

Depois é só ecoar as variáveis com seu delimitador entre elas. Lembre-se que ; 
é delimitador de comandos em shell (se não todos,
pelo menos na maioria e, com certeza, você está sob um bash). Um echo 
$VAR;$VAR2 vai fazer o shell ecoar a $VAR e tentar executar
$VAR2.


- -- 

Um abraço

.0. MrBiTs - address@hidden
..0 GnuPG  - 
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x6EC818FC2B3CA5AB
000 http://www.mrbits.com.br


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iQEcBAEBCAAGBQJLX/yYAAoJEG7IGPwrPKWreU4H/R0nL/6yuMlyj21aqhktrEK0
2wUKd3RCkC/goie2wK3rVUo6gcXGwBJWTLbkhxvjsTq4mwlwMAODykbyRTorGIoR
5MXasUjxYQSlBrZhZBsEfyqysAisqbF8ig/yqcqDMnRsn8br9UIxL/XvcvqmaVo4
XOKgWTktnCv4sQNvmlfWkjrb/nTu1+j9vRRWYEwzv+vXju7VMNMDCgpbjFZ4Fqyh
dqidQoSOy82g3ZpiqC5gRwcarDyWbmyoHfFlDP0r+E0Db8DPTGIR3G+Pci1W9bZZ
AyXpDpjdR1GjbpcAn1MVYBR5GPu5dUW7ldZoCKKlJ4hTBLTYPduToXLIj2rj2tQ=
=Nel3
-----END PGP SIGNATURE-----


reply via email to

[Prev in Thread] Current Thread [Next in Thread]