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

Linux Discussion :

pattern paramètrable dans find en ligne de commande


Sujet :

Linux

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2006
    Messages : 18
    Points : 17
    Points
    17
    Par défaut pattern paramètrable dans find en ligne de commande
    Salut,

    Je cherche à executer la commande find avec comme pattern de recherche divers valeurs d'un fichier texte ou sortie de awk.

    Exemple:
    awk '{print $1}' toto

    imprime :
    toto
    tata
    papa
    mama


    et j'aimerais que find reprennent ces valeurs une à une et fasse une recherche avec ces valeurs comme pattern.

    Exemple:
    find ./ -name 'toto'
    find ./ -name 'tata'
    find ./ -name 'papa'
    find ./ -name 'mama'

    Est-ce possible de faire cela dans une commande sans passer par un script?

    Dans le style:

    awk '{print $1}' toto | find ./ -name '$1'

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 690
    Points : 30 986
    Points
    30 986
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par radiobrain Voir le message
    Salut,

    Je cherche à executer la commande find avec comme pattern de recherche divers valeurs d'un fichier texte ou sortie de awk.

    Exemple:
    awk '{print $1}' toto

    imprime :
    toto
    tata
    papa
    mama


    et j'aimerais que find reprennent ces valeurs une à une et fasse une recherche avec ces valeurs comme pattern.

    Exemple:
    find ./ -name 'toto'
    find ./ -name 'tata'
    find ./ -name 'papa'
    find ./ -name 'mama'

    Est-ce possible de faire cela dans une commande sans passer par un script?

    Dans le style:

    awk '{print $1}' toto | find ./ -name '$1'
    Déjà toute ligne de commande est en elle-même un script. Et tout script (même tenant sur plusieurs lignes) peut se taper directement. Tant que le code tapé ne sera pas complet (if sns fi, do sans done, etc), tu verras apparaitre ce qu'on appelle le PS2 qui te demande de compléter ton script. Exemple
    prompt> if test 5 -eq 5
    prompt2> then
    prompt2> echo oui
    prompt2> fi => Là l'instruction "if...fi" s'exécute et tu vois apparaître "oui".

    Donc tu peux taper directement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    awk '{...}' |while read file
    do
    find ./ -name "$file"
    done
    Ce n'est pas un script...

    Sinon tu peux modifier ton awk pour qu'il t'écrive ton find au lieu d'écrire simplement tes noms. Et ensuite, tu exécutes ton awk entre backquotes
    Donc ta commande devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    `awk '{printf("find ./ -name \"%s\";", $1)}'`
    Le shell interprètera le texte affiché par le awk comme une commande qu'il exécutera.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2006
    Messages : 18
    Points : 17
    Points
    17
    Par défaut
    Merci Sve@r,

    J'y ai pensé le jour d'après que tu pouvais executer des commande "script" en CLI.

    Ca m'était sortie de la tête .

    En tout cas merci pour ton explication.

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

Discussions similaires

  1. Saisie d'arguments dans la ligne de commande
    Par sangei dans le forum Général Java
    Réponses: 20
    Dernier message: 06/12/2009, 16h08
  2. passage de paramètres dans l'invite de commande
    Par mr_neness dans le forum Langage
    Réponses: 10
    Dernier message: 18/11/2005, 15h01
  3. paramètres de la ligne de commande disparaissent...
    Par Antoine_1977 dans le forum Langage
    Réponses: 9
    Dernier message: 04/10/2005, 12h20
  4. Smbclient mettre le mot de passe dans la ligne de commande
    Par EpOnYmE187 dans le forum Réseau
    Réponses: 2
    Dernier message: 28/07/2005, 19h39
  5. Réponses: 9
    Dernier message: 06/07/2005, 18h11

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