Ajuda em script

1. Ajuda em script

Ribeiro, M.S.
ribeirosga

(usa Ubuntu)

Enviado em 25/02/2008 - 10:06h

Ola pessoal, estou precisando desenvolver um programa que trabalhe com um arquivo texto, que é mais ou menos assim:
O programa lê os dados de um arquivo .txt:

min/max data 293,066 295,871 num bits 16 BDS_Ref 293,066 DecScale 0 BinScale
min/max data 293,06 295,062 num bits 16 BDS_Ref 293,068 DecScale 0 BinScale
min/max data 292,634 295,575 num bits 16 BDS_Ref 292,634 DecScale 0 BinScale
min/max data 291,572 296,898 num bits 16 BDS_Ref 291,572 DecScale 0 BinScale
min/max data 292,002 296,098 num bits 16 BDS_Ref 292,002 DecScale 0 BinScale
min/max data 292,211 295,205 num bits 16 BDS_Ref 292,21 DecScale 0 BinScale
min/max data 292,053 295,504 num bits 16 BDS_Ref 292,052 DecScale 0 BinScale
min/max data 289,87 296,374 num bits 16 BDS_Ref 289,87 DecScale 0 BinScale

Eu só quero extrair a terceira e quarta coluna, ou seja, os numeros 293,066 e 295,871 por exemplo e colocar esses dados na seguinte ordem:

293,066 295,871 293,06 295,062 292,634 295,575 291,572 296,898
292,002 296,098 292,211 295,205 292,053 295,504 289,87 296,374

E grave esses dados já ordenados em outro arquivo .txt

Se alguém poder ajudar fico muito grato...


  


2. Re: Ajuda em script

Fagner Amaral de Souza Candido
f_Candido

(usa Ubuntu)

Enviado em 25/02/2008 - 11:38h

Bem, como seu arquivo tem um certo padrão, você pode ir percorrendo caracter a caracter até encontrar o valor desejado. Daí com os dados em memória, passe para o arquivo desejado.

Abraços


3. Re: Ajuda em script

Ribeiro, M.S.
ribeirosga

(usa Ubuntu)

Enviado em 25/02/2008 - 11:47h

Soh uma observação: o numero 296,898 fica tbm na linha de cima (ultima posição), assim como 296,374 fica na anterior.


4. Re: Ajuda em script

Geraldo José Ferreira Chagas Júnior
gjr_rj

(usa Debian)

Enviado em 25/02/2008 - 14:28h

Cara, o forum é de c/c++ e não de script.

Mas vamos lá, o escript seria em shell, perl, php ... ?

Sem saber que tipo de script você deseja, fica mais difícil ajudar.

Mas vamos lá, dependendo do que você for usar poderá ser feito de uma forma diferente.

Em perl ou php, por exemplo, você pode ler a linha e usar a função split passando o espaço em branco como o separador das strings. Assim o split te retornara um vetor com cada sub string em uma posição. Basta usar as posições desejadas.
Porém para ordenar acredito que terá que implementar o quicksort, pois acho que esses scripts não tem.

Já em c você terá que buscar os espaços em branco e pegar o valor desejado a partir desta contagem que pode ser tanto caracter a caracter ou usando a função strstr para procurar uma string dentro da outra.
Para ordenar, no linux, acho que também terá que criar a função de ordenação. No windows eu sei que tem pronta na stdlib.h, pois já usei, porém no linux nunca precisei.



5. Re: Ajuda em script

Ribeiro, M.S.
ribeirosga

(usa Ubuntu)

Enviado em 25/02/2008 - 14:50h

Foi mal grande grj_rj, esqueci de falar a linguagem, mas a ideia e fazer um programa em C. Abração...


6. Re: Ajuda em script

Fagner Amaral de Souza Candido
f_Candido

(usa Ubuntu)

Enviado em 25/02/2008 - 15:15h

Então, pegue toda a string e use como flags os espaços em branco. Daí vá lendo e pegando as informações úteis a ti.

Abraços


7. Re: Ajuda em script

Ribeiro, M.S.
ribeirosga

(usa Ubuntu)

Enviado em 25/02/2008 - 17:10h

Valeu pelas dicas. Vou ver o q consigo fazer...






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts