/ / Comment ouvrir plusieurs dossiers et comparer les fichiers dans Perl? - perl

Comment ouvrir plusieurs dossiers et comparer les fichiers en Perl? - perl

j'ai un parent_folder_1 et de nombreux sous-dossiers à l'intérieur de cela. j'ai aussi parent_folder_2 et de nombreux sous-dossiers à l'intérieur de cela.

Les sous-dossiers contiennent des fichiers .d.

Je dois obtenir le nombre de parent_folders que l'utilisateur veut comparer.

Par exemple:

"Combien de parent_folders voulez-vous comparer?"

Si l'utilisateur entre 4, le script doit alors demander les chemins des quatre parent_folders.

Et, dans un dossier parent, dans un sous-dossier, il y a un autre dossier appelé d folder qui contient des fichiers .d.

Je dois comparer chaque fichier .d dans les quatre dossiers parents et mettre les résultats dans un tableur Excel indiquant quels fichiers .d sont présents dans quels dossiers.

Si xxx.d sf présent dans parent folder1 et parent folder3, alors le résultat devrait être:

xxx.d  parent folder1 #this space is for parent folder2 if present# parentfolder3

Réponses:

3 pour la réponse № 1

C'est l'idée:

  • Utilisation Fichier :: Rechercher pour parcourir des répertoires, des sous-répertoires et des fichiers.
  • Dans wanted(), vérifier:

    -f $ File :: Find :: name && $ File :: Find :: name = ~ /^.+.d$/

  • Si la condition ci-dessus est évaluée comme fausse, retournez; sinon, comparez les fichiers et remplissez la feuille de calcul.


0 pour la réponse № 2

U peut essayer d'utiliser

#opening the directory
opendir (DIR, $directory) or die $!;
#reading the directory
while (my $file = readdir(DIR)) {
print $file;}
#thus the giving the accessing the file in the way u would like to.