2009/3/10 Gmail <[email protected]>:
> boas pessoal
>
> Tenho um arquivo em hexadecimal com esta formatação
>
> 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 AA CC
> 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 BA CC
> 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 02 CA CC
> 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 02 AA CC
> 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 02 CA AB
> 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 AA DD
> 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 BA DD
> 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 02 CA DD
> 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 02 AA DD
> 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 BA CD
> 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 02 CA EF
> 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 BA 15
> 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 02 CA 20
>

A visão de um arquivo em hexadecimal não possui o conceito de "linhas"
nem de "formatação". Estes caracteres são ASCII ou são binários? Vou
considerar que são binários pois você disse "arquivo em hexadecimal".


> Eu preciso mover para outros arquivos solo as blocos entre as linhas com
> o bit 19 e em este exemplo AA
>

Parece-me que você quer os bytes (e não bits) 1 ao 80 no primeiro
arquivo e 101 a 180 no segundo arquivo?

> arquivo primeiro
> 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 AA CC
> 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 BA CC
> 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 02 CA CC
> 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 02 AA CC
>
> arquivo segundo
> 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 AA DD
> 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 BA DD
> 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 02 CA DD
> 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 01 02 AA DD
>
> Testei com varias formas do sed, mais não solucionei, alguma ajuda?
>

cut -c1-80 arquivo > arquivo-primeiro
cut -c100-180 arquivo > arquivo-segundo

para evitar a quebra de linha gerada pelo cut (0a)

echo $(cut -c1-80 arquivo) > arquivo-primeiro
echo $(cut -c100-180 arquivo) > arquivo-segundo


-- 
Reinaldo de Carvalho
http://korreio.sf.net
http://python-cyrus.sf.net

Responder a