bacteria_ wrote:
> esqueci de comentar o arquivo se encontra em formato
> binario/hexadecimal, por isso nao consigo utilizar o grep pra
> encontrar tal string.

Não existe formato "binário/hexadecimal". "Formato binário" significa
que todos o conjunto de valores possíveis para um byte (0..255) aparecem
no arquivo; "hexadecimal" é uma base numéria utilizada para representar
número inteiros (e as vezes números reais também) de forma algébrica.

Eu duvido muito que o ID esteja sendo armazenado em hexadecimal. Só
porque por alguma razão o número que você está procurando é representado
como "0EE2", não significa que o armazenamento do valor se dá da mesma
forma.

Na verdade, você sequer sabe como o valor está armazenado de fato no
arquivo. O valor parece ser de 16 bits, se nenhum zero foi omitido na
representação, mas você sabe ao certo se são mesmo 16 bits? E você sabe
se o valor é armazenado com big-endian ou little-endian? Você sabe qual
é o alinhamento desse valor no conjunto de dados? Provavelmente não...

Mesmo que você fosse fazer uma busca às cegas pelo conteúdo do arquivo,
não há nenhuma garantia de que essa sequência de 16 bits não apareça em
outras partes do arquivo. Por exemplo, se considerarmos que o valor tem
16 bits, alinhado em 16 bits, e que o resto do arquivo possui uma
distribuição aleatória (na prática isso nunca é verdade, mas apenas para
exemplificar...); cada palavra tem 1/65536 de chance de ter o mesmo
valor que você está procurando. Se o seu arquivo tiver míseros 512kB
(256k palavras de 16 bits), as chances de encontrar um valor duplicado
são de quase 98%.

E mesmo que encontrar esse valor, o que você quer saber? Apenas um
verdadeiro/falso? Serve um valor verdadeiro que tem 98% de chances de
estar errado? Ou você quer imprimir o registro que possui esse valor?
Como pretende fazer isso?

Esqueça esse monte de gambiarras e resolva o problema corretamente de
uma vez: escreva um programa em Paradox que abra o arquivo e compare
registro-a-registro pelo valor procurado na coluna correta, e daí faça o
que tem que ser feito com aquele registro ou aquele arquivo.

A propósito, o que tudo isso tem a ver com Linux?

Att,
Juliano.

-- 
Juliano F. Ravasi ·· http://juliano.info/
5105 46CC B2B7 F0CD 5F47 E740 72CA 54F4 DF37 9E96

"A candle loses nothing by lighting another candle." -- Erin Majors

* NOTE: Don't try to reach me through this address, use "contact@" instead.
---------------------------------------------------------------------------
Esta lista é patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br

Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utilização da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html

Responder a