IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Recherche d'un fichier dans des dossiers


Sujet :

Shell et commandes GNU

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2020
    Messages : 275
    Points : 113
    Points
    113
    Par défaut Recherche d'un fichier dans des dossiers
    Bonjour,

    je découvre le terminal et la commande find !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    find . -type d -name "nomdudossier*"
    me permet de trouver dans mon dossier tous les dossiers nommés nomdudossier suivis de plusieurs caractères.
    Je voudrais déjà savoir si c'est une bonne commande (car elle fonctionne, j'ai essayé)

    Je me pose la question du . après find, je ne comprends pas à quoi il sert !

    Par la suite , une fois bien compris le fonctionnement du find je souhaiterais chercher une aiguille dans une botte de foin !!

    Si la commande ci-dessus me permet de trouver 15 dossiers qui contiennent chacun 5 fichiers et que je cherche parmi ceux-ci celui qui possède la plus petite taille,
    comme je ne connais que ls -lh , je dois rentrer dans chaque dossier, donc 15 fois !!! Pour peu que je veuille aussi savoir lequel de tous ces fichiers contient un mot en particulier et que je n'ai pas de chance, je peux avoir à ouvrir 75 fichiers pour trouver le bon !!!
    Y a t-il une ligne de commande pour mon problème ? Et est-ce que find est la bonne commande ?

  2. #2
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Bonjour

    Beaucoup de questions en une seule question.

    Je voudrais déjà savoir si c'est une bonne commande
    C'est une bonne commande.

    Je me pose la question du . après find, je ne comprends pas à quoi il sert !
    À rien. Tu peux indiquer le dossier dans lequel la commande s'exécute. Mais comme le dossier par défaut, si tu ne dis rien, est le dossier courant, inutile de préciser "." qui signifie "dossier courant".

    je cherche parmi ceux-ci celui qui possède la plus petite taille,
    Tu peux faire par exemple une conduite, pour trouver le dossier le moins plein.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find -type d -name "nomdudossier*" | xargs du | sort -n | head -n 1
    find cherche. du donne la somme des poids des fichiers contenus. sort trie. head ne retient que la première ligne. Pour en savoir plus,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    man -P "less -p conduite" bash
    Cette dernière, pour les conduites.
    Exécute et regarde la sortie de chaque étage de la conduite pour bien comprendre les transformations successives.

    Pour peu que je veuille aussi savoir lequel de tous ces fichiers contient un mot en particulier
    Ça, c'est le travail de "grep". L'option -R travaille récursivement dans les sous-dossiers.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -R 'expression rationnelle à chercher' *
    Pour en savoir plus :
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  3. #3
    Membre éprouvé Avatar de balkany
    Homme Profil pro
    Touriste
    Inscrit en
    Juillet 2017
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Touriste

    Informations forums :
    Inscription : Juillet 2017
    Messages : 346
    Points : 977
    Points
    977
    Par défaut
    Citation Envoyé par Ushuango Voir le message
    Si la commande ci-dessus me permet de trouver 15 dossiers qui contiennent chacun 5 fichiers et que je cherche parmi ceux-ci celui qui possède la plus petite taille
    Si c'est le fichier de plus petite taille qui t'intéresse, alors tu peux faire afficher par find cette taille suivie du nom de fichier en jouant sur les options de la commande -printf de find (voir le manuel pour ça).
    Ensuite, tu passes le résultat à sort comme indiqué par Flodelarab ci-dessus.

  4. #4
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 729
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 729
    Points : 15 132
    Points
    15 132
    Par défaut
    Salut,
    Citation Envoyé par Flodelarab Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    man -P "less -p conduite" bash
    Pattern not found (press RETURN) J'ai testé avec conduct (ocazoù), même résultat, et ce dans une vieille machine (8 ans d'âge) comme dans une récente (moins d'un an).
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  5. #5
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 278
    Points : 12 726
    Points
    12 726
    Par défaut
    Je pense que c'est pour des man en français, la variante pour le man en anglais est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    man -P "less -p Pipelines" bash
    Cordialement.

  6. #6
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 729
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 729
    Points : 15 132
    Points
    15 132
    Par défaut
    Bien vu, merci !

    Du coup, je me retrouve avec un manuel complet de Bash (pas très commode à lire, faut l'avouer -- un jour faudra que je me paye un bouquin papier, c'est quand même mieux).

    (PS HS en forme de MP : mes 2 vm's tournent en boucle comme des folles, ça sent bon, des news + tard…)
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2020
    Messages : 275
    Points : 113
    Points
    113
    Par défaut
    Merci pour vos réponses,

    je vais aller approfondir les nouvelles commandes que vous m'avez présentées, je prends le temps...!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Batch] Copier et renommer des fichiers dans des dossiers et sous dossiers
    Par KeuZzDar dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 05/12/2018, 14h46
  2. Réponses: 2
    Dernier message: 16/05/2017, 11h56
  3. Extrcation automatique des fichiers dans des dossiers
    Par vinvol dans le forum VBScript
    Réponses: 6
    Dernier message: 16/06/2012, 22h12
  4. Réponses: 12
    Dernier message: 11/05/2012, 11h17
  5. Réponses: 0
    Dernier message: 15/03/2010, 23h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo