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

[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]



reply via email to

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