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

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

Erro semantico ao ler arquivo txt


From: Carlos Felicio
Subject: Erro semantico ao ler arquivo txt
Date: Wed, 18 May 2005 16:37:48 -0300
User-agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.7.3) Gecko/20040919

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


reply via email to

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