Leitura de ficheiro .txt [RESOLVIDO]

1. Leitura de ficheiro .txt [RESOLVIDO]

João Pedro Miranda Nascimento
joaonascimento

(usa Ubuntu)

Enviado em 31/10/2010 - 19:53h

Olá pessoal,

estou com um problema. Estou a criar um script em shell que me permita converter de txt para pdf o problema é que não estou a conseguir ler direito do ficheiro txt...

Ao ler aparece assim:
http://codepaste.net/eb2mnf

Quando só quando deveria aparecer assim:

------------------------------
| Cartão do aluno
| Numero: 20007
| Nome: Carlos Morais Nataniel Vilela
| Login: al25997
| Password: 0ta6
------------------------------

O codigo esta aqui!
http://codepaste.net/m294s6

Urgente ajudem!



  


2. Re: Leitura de ficheiro .txt [RESOLVIDO]

José Mário
miura 787

(usa Ubuntu)

Enviado em 01/11/2010 - 14:26h

O erro está na linha pontilhada:

ler_informacao_txt()
{
for i in $(cat $ficheiro_txt | tail --lines=+4 | sed '/-/d')
do
numero=`echo $i | cut -d '|' -f2`
log=`echo $i | cut -d '|' -f3`
password=`echo $i | cut -d '|' -f4`
nome=`echo $i | cut -d '|' -f5`
echo "------------------------------"
echo "| Cartão do aluno"
echo "| Numero: $numero"
echo "| Nome: $nome"
echo "| Login: $log"
echo "| Password: $password"
echo "------------------------------"
done

}



Modifique para:

ler_informacao_txt()
{
echo "------------------------------"
for i in $(cat $ficheiro_txt | tail --lines=+4 | sed '/-/d')
do
numero=`echo $i | cut -d '|' -f2`
log=`echo $i | cut -d '|' -f3`
password=`echo $i | cut -d '|' -f4`
nome=`echo $i | cut -d '|' -f5`
echo "| Cartão do aluno"
echo "| Numero: $numero"
echo "| Nome: $nome"
echo "| Login: $log"
echo "| Password: $password"
echo "------------------------------"
done

}


Teste e escreva o resultado!

Ats
Miura 787


3. Re: Leitura de ficheiro .txt [RESOLVIDO]

João Pedro Miranda Nascimento
joaonascimento

(usa Ubuntu)

Enviado em 01/11/2010 - 14:32h

O resultado continua a ser o mesmo!


4. Re: Leitura de ficheiro .txt [RESOLVIDO]

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 01/11/2010 - 15:49h

Cara ... tenta isso ...

ler_informacao_txt()
{
cat $ficheiro_txt | tail --lines=+4 | sed '/-/d' | while read i
do
numero=`echo $i | cut -d '|' -f2`
log=`echo $i | cut -d '|' -f3`
password=`echo $i | cut -d '|' -f4`
nome=`echo $i | cut -d '|' -f5`
echo "------------------------------"
echo "| Cartão do aluno"
echo "| Numero: $numero"
echo "| Nome: $nome"
echo "| Login: $log"
echo "| Password: $password"
echo "------------------------------"
done

}

se não der certo, coloca um trecho do arquivo de entrada ... ok!


5. Re: Leitura de ficheiro .txt [RESOLVIDO]

João Pedro Miranda Nascimento
joaonascimento

(usa Ubuntu)

Enviado em 01/11/2010 - 15:54h

Amigo deu certinho agora!

Afinal era o que eu esta a pensar o ciclo! Estava mesmo agora a mudar isso!

Outra coisa se eu so quiser ir buscar o primeiro e o ulimo nome como faço dentro do mesmo ciclo?


6. Re: Leitura de ficheiro .txt [RESOLVIDO]

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 01/11/2010 - 16:00h

Não entendi ... no seu exemplo você quer só Carlos Vilela ... é isso?


7. Re: Leitura de ficheiro .txt [RESOLVIDO]

João Pedro Miranda Nascimento
joaonascimento

(usa Ubuntu)

Enviado em 01/11/2010 - 16:02h

Sim amigo é isso: Carlos Vilela!


8. Re: Leitura de ficheiro .txt [RESOLVIDO]

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 01/11/2010 - 16:04h

ler_informacao_txt()
{
cat $ficheiro_txt | tail --lines=+4 | sed '/-/d' | while read i
do
numero=`echo $i | cut -d '|' -f2`
log=`echo $i | cut -d '|' -f3`
password=`echo $i | cut -d '|' -f4`
nome=`echo $i | cut -d '|' -f5`
nome=`echo $nome | awk '{ print $1, $NF}'`
echo "------------------------------"
echo "| Cartão do aluno"
echo "| Numero: $numero"
echo "| Nome: $nome"
echo "| Login: $log"
echo "| Password: $password"
echo "------------------------------"
done

}




9. Re: Leitura de ficheiro .txt [RESOLVIDO]

João Pedro Miranda Nascimento
joaonascimento

(usa Ubuntu)

Enviado em 01/11/2010 - 16:09h

Pode-me dizer o que faz isso amigo?


10. Re: Leitura de ficheiro .txt [RESOLVIDO]

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 01/11/2010 - 16:22h

Claro ... o awk ... faz de tudo ... de calculo a formatação de caracteres ... é bom mesmo ...

Dá uma olhada no link abaixo.
http://www.zago.eti.br/script/awk.html#toc6

nesse caso ele faz uma coisa bem simples imprime (print) o primeiro ($1) e o último ($NF) item da linha considerando espaço como o separador.

Carlos Morais Nataniel Vilela
$1.... $2.... $3...... $4

mas como não sabemos ao certo se o último será $4, $3 ou $5, eu peço $NF (NF é de number of fields, no caso acima nós temos 4) e ele calcula automaticamente.


11. Re: Leitura de ficheiro .txt [RESOLVIDO]

João Pedro Miranda Nascimento
joaonascimento

(usa Ubuntu)

Enviado em 01/11/2010 - 16:29h

Obrigado pela a ajuda de todos esta tudo resolvido!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts