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 :

[Shell] Copie récursive filtrée


Sujet :

Linux

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    Points : 10
    Points
    10
    Par défaut [Shell] Copie récursive filtrée
    Bonjour,

    je cherche à faire la copie d'un répertoire dans un autre mais en ne copiant que les fichiers .php par exemple

    j'ai bêtement tenté cp -r *.php cible/ mais ca ne parcourt pas les sous repertoires
    je me suis dit qu'on peut peut-être faire qqch avec un find mais je ne m'en sors pas.

    qqun aurait une idée?

    merci.

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cp `find . -name "*.php" `  repertoire_cible/
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    Points : 10
    Points
    10
    Par défaut
    merci pour ta réponse,

    mais je rencontre un autre problème, la commande me recopie les bons fichiers sauf que ca ne garde plus l'arbo d'origine

    ex:

    ./index.php
    ./includes/toto.php

    j'obtiens

    cible/index.php
    cible/toto.php au lieu de cible/includes/toto.php


  4. #4
    Membre éclairé Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Points : 652
    Points
    652
    Par défaut
    Ça doit marcher

    find . -name '*.php' | xargs -i cp -r {} repert_cible
    Loi de Murphy:
    La Théorie c'est quand ça ne marche pas mais que l'on sait pourquoi.
    La Pratique c'est quand ça marche mais qu'on ne sait pas pourquoi.
    Quand la théorie rejoint la pratique ça ne marche pas et on ne sait pas pourquoi.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    Points : 10
    Points
    10
    Par défaut
    même résultat

    j'ai essayé en rajoutant des accolades à la fin

    find . -name '*.php' | xargs -i cp -r {} repert_cible/{}

    ca à l'air de se rapprocher de ce que je veux mais il doit y avoir un problème du fait que les sous répertoires n'existent pas

    cp: error cannot create regular file

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    Points : 10
    Points
    10
    Par défaut
    yes !!!

    en remplaçant -r par --parents ca fonctionne nickel

    find . -name '*.php' | xargs -i cp --parents {} repert_cible

    merci pour le coup de main

    ++

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

Discussions similaires

  1. copie récursive de fichier
    Par alaparra dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 05/12/2007, 17h48
  2. shell copie de ligne
    Par monsieur77 dans le forum Linux
    Réponses: 7
    Dernier message: 02/11/2007, 17h39
  3. copie récursive répertoire
    Par hisy dans le forum Langage
    Réponses: 4
    Dernier message: 16/03/2007, 08h40
  4. Copie récursive d'un répertoire
    Par narmataru dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 11/09/2006, 18h06
  5. Copie récursive de répertoire
    Par Furius dans le forum Langage
    Réponses: 21
    Dernier message: 11/01/2006, 19h25

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