Copier des fichiers - plusieurs dossiers

Nar78 -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai un repertoire qui contient 10 dossiers : test_1, test_2, ...., test_10
Dans Dans chacun de ces dossiers, j'ai les sous dossiers :
A1, A2, ...A12
et dans A1 par ex, j'ai trois fichiers textes : calc1, calc2, calc3

Je voudrais faire une boucle pour copier tous les fichier calc1 de tous ces dossiers dans un seul dossier pour utiliser ces données plus tard.

Est ce qu'il y a une manière simple pour faire ça en seul fois en boucle?
Merci d'avance pour l'aide

2 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    il y a un calc1 dans plusieurs dossiers ? si oui comment les renommer pour les différencier dans la destination ?
    ce code va les écraser
    find test* -name calc1 -exec cp {} destination \;
    0
    1. Nar78
       
      Salut,
      oui il y a calc1 dans chaque dossier
      0
    2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Salut,

      Tu n'as pas répondu à la 2nde question de dubcek : "si oui comment les renommer pour les différencier dans la destination ? "
      0
    3. Nar78
       
      pour la 2nde question, je sais pas vraiment comment !!
      0
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    essayer ça, enlever le echo pour copier et changer /dest
    $ i=1 ; find test* -type f -name calc1 -printf "%p %f\n" | while read F F2; do echo cp $F /dest/$F2.$((i++)) ; done
    
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Voir aussi du côté de l'option "--backup=t" de la commande "cp" qui numérote les copies identiques. Ce n'est pas l'idéal, mais bon, ça peut dépanner ;-)
      0
    2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      ah oui, pratique, je ne connaissais pas
      find test* -name calc1 -exec cp --backup=t  {} destination \;
      0