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

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

RES: [shell-script] Erro semantico ao ler arquivo txt


From: Rodolfo Villanova
Subject: RES: [shell-script] Erro semantico ao ler arquivo txt
Date: Wed, 18 May 2005 17:02:22 -0300

Carlos,


O incidente com certeza não está na linha do for, e sim no separador entre
os campos, que o gawk não está tratando conforme o esperado.

Experimente troca as linhas de atribuição do VarLink e do VarProd pelas
linhas abaixo e veja o que acontece:

varLink=`echo "$f" | tr -s " " | cut -d" " -f1
varProd=`echo "$f" | tr -s " " | cut -d" " -f3

Verifique se antes e após a seta (->) existe caracter tabulação ('\t') ao
invés de espaço em branco (' ').

Boa sorte.

[]'s
-----------------------
Rodolfo Gross Villanova

> -----Mensagem original-----
> De: address@hidden
> [mailto:address@hidden]Em nome de Carlos Felicio
> Enviada em: quarta-feira, 18 de maio de 2005 16:38
> Para: address@hidden
> Assunto: [shell-script] Erro semantico ao ler arquivo txt
>
>
> Pessoal,
>
> Estou tentando executar um loop abaixo, mas o script nao esta
> respondendo da forma esperada.
>
> #!/usr/bin/sh
> for f in `cat ReportRCS.txt`
> do
>  varLink=`echo "$f" | gawk '{print $1}'`
>  varProd=`echo "$f" | gawk '{print $3}'`
>  echo "F"
>  echo "$f"
>  echo "VARLINK"
>  echo "$varLink"
>  echo "VARPROD"
>  echo "$varProd"
> done
>
> O arquivo ReportRCS.txt esta no seguinte formato:
>
> /blabla/RCS   -> /yoink/RCS
>
> E me retorna assim:
>
> F
> /blabla/RCS
> VARLINK
> /blabla/RCS
> VARPROD
>
> F
> ->
> VARLINK
> ->
> VARPROD
>
> F
> /yoink/RCS
> VARLINK
> /yoink/RCS
> VARPROD
>
> Quando na verdade eu queria que saisse assim:
>
> F
> /blabla/RCS   -> /yoink/RCS
> VARLINK
> /blabla/RCS
> VARPROD
> /yoink/RCS
>
> O defeito pra mim eh claro,  por algum motivo os espacos estao quebrando
> a leitura e considerando o espaco como uma nova linha. Eu pensei em
> tirar os espacos com tr e depois arrumar de novo na variavel, mas ia
> ficar meio na gambiarra. Qual o comando correto no lugar do for f in
> `cat ReportRCS.txt` para que o script leia o txt da forma que eu quero?
> Eu tentei com for f in $(cat ReportRCS.txt) mas o sh retornou dizendo
> syntax error `$' unexpected. Estou usando Solaris 8.
>
> Grato,
> Carlos
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de
> programação, como perl, C etc. Quem insistir em não seguir esta
> regra será moderado sem prévio aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------

Links do Yahoo! Grupos










reply via email to

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