Comparar dois arquivos e criar um terceiro atualizado

1. Comparar dois arquivos e criar um terceiro atualizado

Carlos Eduardo De Barros Souza
carlos_dbs

(usa Debian)

Enviado em 09/11/2016 - 09:19h

Bom dia galera!

Sou novo no mundo GNU/Linux e estou estudando Shell Script.

No meu estágio estou desenvolvendo um script que compare dois arquivos .xml, segue a situação problema:

1. O primeiro arquivo é mais velho e o segundo é uma atualização do primeiro.
2. O segundo arquivo pode ter linhas a mais ou a menos, ou linhas que mudaram seu conteúdo;
3. Preciso de um terceiro arquivo com tudo atualizado, os seja as linhas que são iguais nos dois arquivos, as novas linhas ou linhas que foram alteradas.

Com o script :

#!/bin/bash -x

DIFERENTES=$(diff -a applicationContext-pdc_817.xml applicationContext-pdc_818.xml | sed '/^</ d' | sed '/^--/ d' | sed 's/^>//' | sed '/^[0-9]/ d')
IGUAIS=$(grep -F -x -f applicationContext-pdc_818.xml applicationContext-pdc_817.xml)

#echo "$DIFERENTES" > diferentes.txt
#echo "$IGUAIS" > iguais.txt

Eu obtenho os dados que quero, porém eles ficam em arquivos diferentes, se eu utilizar o comando:

#cat iguais.txt diferentes.txt > arquivocompleto.txt.

Eu terei um 3 arquivo porém com as linhas fora de ordem, pois esse xml tem um estrutura e ela deve ser seguida.

Grato desde já!


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts