1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
| #!/usr/bin/perl
#Ce code en PERL permet de recuperer des infos specifiques de fichiers xml.
#De nouveaux fichiers .csv sont créés.
#il est créer un fichier csv par application trouvées dans l'ensemble des xml.
#
#Pour utiliser ce code, ouvrez l invite de commande, placez vous dans le repertoire
#que vous voulez analyser et ecrivez la commande:
#"pearl EMPLACEMENT_DU_FICHIER_RECUP_INFO_FICHIER"
#exemple: "perl D:\Data\recup_info_fichier.pl"
use strict;
my %RecupData = ();
my @ListeFic = <*.xml>;
my @TabRecupCleHash;
foreach (@ListeFic) {
my $valAppli = "";
my $lignEnCour = "";
my $valTableEnCour = "";
my $valUserDaily = "";
my $valAuthor = "";
my $valchangeUserID = "";
my $valCmdline = "";
my $valNodeID = "";
my $valOwner = "";
my $nomFichier = $_;
print "\n\nfichier $_ est un xml\n";
open( FICHIER, "$_" ) or die("open: $!");
while ( defined( $_ = <FICHIER> ) ) {
$lignEnCour = $_;
if ( $lignEnCour =~ m/APPLICATION/ ) {
($valAppli) = $lignEnCour =~ /APPLICATION=\"(.*)\"/;
print("Application = \t$valAppli\n");
( $RecupData{$valAppli} ) .= ", " . $valAppli;
}
if ( $lignEnCour =~ m/TABLE_NAME/ ) {
($valTableEnCour) = $lignEnCour =~ /TABLE_NAME=\"(.*)\"/;
print("Table en cours = \t$valTableEnCour\n");
( $RecupData{$valAppli} ) .= ", " . $valTableEnCour;
}
if ( $lignEnCour =~ m/TABLE_USERDAILY/ ) {
($valUserDaily) = $lignEnCour =~ /TABLE_USERDAILY=\"(.*)\"/;
print("User daily = \t$valUserDaily\n");
( $RecupData{$valAppli} ) .= ", " . $valUserDaily;
}
if ( $lignEnCour =~ m/AUTHOR/ ) {
($valAuthor) = $lignEnCour =~ /AUTHOR=\"(.*)\"/;
print("Auteur = \t$valAuthor\n");
( $RecupData{$valAppli} ) .= ", " . $valAuthor;
}
if ( $lignEnCour =~ m/CHANGE_USERID/ ) {
($valchangeUserID) = $lignEnCour =~ /CHANGE_USERID=\"(.*)\"/;
print("Change user ID = \t$valchangeUserID\n");
( $RecupData{$valAppli} ) .= ", " . $valchangeUserID;
}
if ( $lignEnCour =~ m/CMDLINE/ ) {
($valCmdline) = $lignEnCour =~ /CMDLINE=\"(.*)"/;
print("CMD line = \t$valCmdline\n");
( $RecupData{$valAppli} ) .= ", " . $valCmdline;
}
if ( $lignEnCour =~ m/NODEID/ ) {
($valNodeID) = $lignEnCour =~ /NODEID=\"(.*)\"/;
print("Node ID = \t$valNodeID\n");
( $RecupData{$valAppli} ) .= ", " . $valNodeID;
}
if ( $lignEnCour =~ m/OWNER/ ) {
($valOwner) = $lignEnCour =~ /OWNER=\"(.*)\"/;
print("Owner = \t$valOwner\n");
( $RecupData{$valAppli} ) .= ", " . $valOwner;
}
}
close(FICHIER);
}
@TabRecupCleHash = keys(%RecupData);
print "\ntableau = @TabRecupCleHash";
for my $key (@TabRecupCleHash) {
open( ECRIRE, ">$key.csv" )
|| die("Erreur de lors de la creation du fichier");
printf( ECRIRE "$RecupData{$key}" );
close(ECRIRE);
} |
Partager