shell-script-pt
[Top][All Lists]
Advanced

[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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]