Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1360 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Faire une recherche sur un liste de noms de fichiers

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Faire une recherche sur un liste de noms de fichiers

n°1367649
wutys
Posté le 04-11-2014 à 11:12:04  profilanswer
 

Bonjour,
 
Je suis dans une arborescence assez lourde avec beaucoup de répertoires et fichiers, et je dois chercher des choses dans une liste de fichier (318 pour être exact) dont j'ai les noms (unique dans toute l'arborescence) et qui sont dans des répertoires différents
 
Pour l'instant j'ai ma liste de noms de fichier dans un fichier plat.
Comment je fais en gros pour transformer mon fichier plat en un ls sur lequel je peux faire un grep derrière ?
 
merci.
 

mood
Publicité
Posté le 04-11-2014 à 11:12:04  profilanswer
 

n°1367652
o'gure
Modérateur
Multi grognon de B_L
Posté le 04-11-2014 à 11:18:55  profilanswer
 

Si le fichier est unique un script qui lit ton fichier et utilise find avec :
 - l'option -iname pour trouver le fichier que tu recherches
 - l'option -exec pour faire le grep ou pipe ton find dans un grep
cf. man find


Message édité par o'gure le 04-11-2014 à 11:23:02

---------------
Relax. Take a deep breath !
n°1367655
wutys
Posté le 04-11-2014 à 11:22:59  profilanswer
 

ok merci donc il y a pas d'autre solution que de transformer mon fichier plat en un gros find avec tous les noms de fichiers à la suite ?
 
bon bah ça va être chiant mais go.

n°1367657
o'gure
Modérateur
Multi grognon de B_L
Posté le 04-11-2014 à 11:36:14  profilanswer
 

J'ai fait mon edit en même temps que ton post.
Tu fais un script avec une boucle qui lit ton fichier, pour chaque nom de fichier il va automatiquement construire la commande find qui va bien.
Ca prendra du temps, mais le taf sera fait.


Message édité par o'gure le 04-11-2014 à 11:36:56

---------------
Relax. Take a deep breath !
n°1367659
o'gure
Modérateur
Multi grognon de B_L
Posté le 04-11-2014 à 11:38:41  profilanswer
 

Après y a d'autre solution plus optimisée, mais ça requiert un peu plus de scripting.
1. Faire un find complet de ton arborescence et le redirigé dans un fichier texte => ça te crée un index de ton arborescence
2. une boucle qui pour chaque nom de fichier va faire un grep dans ton index pour avoir le chemin entier
3. faire le grep


---------------
Relax. Take a deep breath !
n°1367660
wutys
Posté le 04-11-2014 à 11:42:20  profilanswer
 

Merci mais trop tard j'ai fais mon gros
 
 

Code :
  1. find . -name 'toto' -o -name 'tata' -o -name ...


 
ça fait le boulot  :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Faire une recherche sur un liste de noms de fichiers

 

Sujets relatifs
Recherche application pour les anniversaires sous (Linux)Samba : impossible d'exécuter des fichiers distants
[ Shell ] Transformation liste en tableau avec ..awk ?débutant bash : script de déplacement fichiers/dossiers
[Résolu]Kde, problème pour classer des fichiers par date d'acquisition[exp reg]liste des fichiers commençant par "annee4" et de 7 caractères
recherche logiciel pour cloner carte sd sous Linux ?Recherche de distro pour vieux PC
Récupération de fichiers avec arborescence (EXT4) 
Plus de sujets relatifs à : Faire une recherche sur un liste de noms de fichiers


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR