[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Comparando registros.
From: |
Rodrigo Boechat |
Subject: |
Comparando registros. |
Date: |
Sat, 25 Feb 2012 04:05:39 -0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:10.0.2) Gecko/20120217 Thunderbird/10.0.2 |
Pessoal, boa madrugada.
Estou batendo cabeça com a seguinte situação:
Tenho um arquivo de backup de registro do windows e preciso analisá-lo
contra um registro "padrão" para verificar a diferença entre os dois.
O que preciso e não estou conseguindo fazer é o seguinte: Pretendo criar
um array "dicionário" com os nomes das chaves do registro e atribuir
como valor todos os atributos das chaves em uma única linha.
- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
Exemplo de registro:
[HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\MultifunctionAdapter\1]
# REGISTRO
"Component
Information"=hex:00,00,00,00,00,00,00,00,00,00,00,00,ff,ff,ff,ff # ATRIBUTO
"Identifier"="PCI"# ATRIBUTO
"Configuration
Data"=hex(9):05,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,05,\# ATRIBUTO
00,00,00,04,00,00,00,00,00,00,00,00,00,00,00,02,10,01,01# ATRIBUTO
[HKEY_LOCAL_MACHINE\HARDWARE\ACPI\FACS]# REGISTRO
"00000000"=hex:46,41,43,53,40,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\#
ATRIBUTO
00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,\#
ATRIBUTO
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00# ATRIBUTO
[HKEY_LOCAL_MACHINE\HARDWARE\ACPI\FADT]# REGISTRO
# ATRIBUTO
[HKEY_LOCAL_MACHINE\HARDWARE\ACPI\FADT\VBOX__]# REGISTRO
# ATRIBUTO
- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
Exemplo de resultado esperado:
registros[NOME\COMPLETO\DO\REGISTRO]=TODAS AS LINHAS DE ATRIBUTOS
AGRUPADAS NUMA SÓ, INCLUINDO AS LINHAS EM BRANCO.
- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
Ficou fácil de compreender?
Eu pretendo carregar dois arrays, um com o registro padrão e outro com o
"usado" para passar para um txt tudo que estiver diferente do padrão ou
não existir no padrão.
Acredito que eu consiga com um while, mas nem consegui criar os arrays
ainda.
Bom, eu tentei seguir a ideia de um SED sinistro que o Robson Alexandre
passou:
for cmd in INSERT SELECT DELETE UPDATE
do
sed -n "/${cmd}/{:a;/;/! {N;ba};s/\n/ /g;p}" arq.txt > "${cmd}.txt"
done
Não tive sucesso, embora eu já consiga compreender a estrutura.
Alguém poderia me ajudar?
Grato,
Rodrigo Boechat
[As partes desta mensagem que não continham texto foram removidas]
- Comparando registros.,
Rodrigo Boechat <=
- Re: [shell-script] Comparando registros., Fernando Mercês, 2012/02/25
- Re: [shell-script] Comparando registros., Julio C. Neves, 2012/02/25
- Re: [shell-script] Comparando registros., Rodrigo Boechat, 2012/02/25
- Re: [shell-script] Comparando registros., Julio C. Neves, 2012/02/26
- Re: [shell-script] Comparando registros., Robson Alexandre, 2012/02/29
- Re: [shell-script] Comparando registros., Valtoir, 2012/02/29
- Re: [shell-script] Comparando registros., Valtoir, 2012/02/29