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
