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

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

Re: [shell-script] Re: melhor forma para atribuir variáveis


From: Alfredo Casanova
Subject: Re: [shell-script] Re: melhor forma para atribuir variáveis
Date: Fri, 14 Jun 2013 16:26:17 -0300

Vocês são mágicos mesmo

Fiz o seguinte:

UTILIZAR=$(echo "$1" | cut -f9-19,39 -d\;)
IFS=\;
read CO_CPF NO_CLIENTE DE_ENDERECO CO_COMPLEMENTO DE_COMPLEMENTO
NO_MUNICIPIO SG_UF NO_BAIRRO CO_CEP NU_DDD NU_TELEFONE DT_NASCIMENTO <<<
"$UTILIZAR"

pronto, fantastico


2013/6/14 Sérgio <address@hidden>

> **
>
>
> Acho que usando here strings tipo
>
> var="um dois tres"
>
> cat <<< $var
>
> seja mais rápido
>
> ...
> outras considerações acerca das possíveis atribuições a essas variáveis
>
> será que dá pra fazer com múltipla atribuição como
> visto abaixo?
>
> read day month year <<< $(date +'%d %m %y')
>
> No awk dá pra pegar os campos assim:
>
> awk -F";" '{print $15, $17, $18, $19, $39}' <<< "$REGISTRO_ATUAL"
>
> creio que colocando em uma substituição de comandos $()
> é possível fazer múltipla atribuição
>
> --- Em address@hidden, Alfredo Casanova <atcasanova@...>
> escreveu
>
> >
> > estou lendo um csv gigantesco, e preciso separar vários campos em
> variáveis
> > distintas:
> >
> >
> >
> > SG_UF=`echo "$REGISTRO_ATUAL" | cut -d";" -f15`
> > CO_CEP=`echo "$REGISTRO_ATUAL" | cut -d";" -f17`
> > NU_DDD=`echo "$REGISTRO_ATUAL" | cut -d";" -f18`
> > NU_TELEFONE=`echo "$REGISTRO_ATUAL" | cut -d";" -f19`
> > DT_NASCIMENTO=`echo "$REGISTRO_ATUAL" | cut -d";" -f39`
> >
> > dentre outros
> > só que isso em larga escala (arquivos com mais de 1milhao de registros)
> > fica extremamente lento.
> >
> > Existe alguma forma de atribuir essas variáveis de outra forma?
> >
> >
> >
> > --
> > []'s
> > Alfredo Casanova
> > Linux User #228230
> > msn: atcasanova@...
>
> > tel: +55 61 9655 9619
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
>
>  
>



-- 
[]'s
Alfredo Casanova
Linux User #228230
msn: address@hidden
tel: +55 61 9655 9619


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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