[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Mover blocos de bits
From: |
Reinaldo de Carvalho |
Subject: |
Re: [shell-script] Mover blocos de bits |
Date: |
Wed, 11 Mar 2009 09:15:15 -0300 |
2009/3/10 Gmail <address@hidden>:
> 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