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 :

Copie de fichiers portant le même nom


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  
    Profil pro
    " "
    Inscrit en
    Janvier 2008
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : " "

    Informations forums :
    Inscription : Janvier 2008
    Messages : 330
    Par défaut Copie de fichiers portant le même nom
    Bonjour,
    Je souhaite copier des fichiers (gps.txt) qui sont stockés ainsi:
    Un repertoire Z:/BddBrute/DataElec qui contient 58 sous repertoires D1, ..., D58.
    Chacun de ces sous-repertoires D_i contient à son tour H1, ...,H15 sous-repertoires.
    Chaque H_j contient un fichier gps.txt.
    Mon problème est que tous les fichiers que je veux copier portent le même nom dans chque H_j.
    Quand je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find Z:/BddBrute/DataElec -type f -name "gps.txt" -exec cp -v '{}' D:/GPS_doc \;
    je ne retrouve que le dernier fichier.
    Je chercher une solution permettant de faire:
    1- soit une concaténation en supprimant la première ligne (nom des colonnes)de chaque fichier
    2- ou soit de copier et renommer en ajoutant un chiffre (ou nombre ) à la fin

    Merci pour vos pistes

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Salut,

    man cp : --backup=numbered

  3. #3
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    c'est pas plus simple de copier l'arborescence avec tout connement ????
    au lieu de faire du brocolage et de te retrouver avec 2 structures différentes pour la même information ???

    ou mieux encore ne pas faire de copie mais des liens ?!

  4. #4
    Inactif  
    Profil pro
    " "
    Inscrit en
    Janvier 2008
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : " "

    Informations forums :
    Inscription : Janvier 2008
    Messages : 330
    Par défaut
    Merci pour la réponse mais je n'ai rien compris de ce que tu racontes.
    L'objectif pour moi est de mettre au final ces fichiers dans un SGBD Mysql.
    Au lieu de le faire fichier pas fichier, j'ai voulu faire un script (en php ou java) qui va boucler sur tout le répertoire et les insérer dans la base de données.

  5. #5
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    si c'est ça le but tu fais en fait 3 erreurs ...
    1- on ne mets jamais un fichier dans une base, on l'y indexe uniquement
    2- dans ce cas il suffit de lire les fichiers depuis leurs emplacements actuels, il est totalement inutile de les copier avant.
    3- tes fichiers à noms uniques ne poseront aucun problème si tu crées correctement ta base, puisqu'il y aura un index avec une clef primaire et au moins un champs correspondant au chemin, chacun des deux sera à lui seul une valeur unique, il n'y aura jamais de doublon...

    exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    [REF][CHEMIN                      ][           ][             ]
    1     /chemin/vers/structure1/rep1   nomfichier   2013-02-15
    2     /chemin/vers/structure1/rep2   autrefchier   2013-02-14
    3     /chemin/vers/structure2/rep1   nomfichier   2013-02-13
    4     /chemin/vers/structure2/rep2   nomfichier   2013-02-12
    5     /chemin/vers/structure2/rep3   nomfichier   2013-02-11
    6     /chemin/vers/structure2/rep4   nomfichier   2013-02-10

  6. #6
    Inactif  
    Profil pro
    " "
    Inscrit en
    Janvier 2008
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : " "

    Informations forums :
    Inscription : Janvier 2008
    Messages : 330
    Par défaut
    Ouff, doucement mec pour que je puisse suivre (je ne suis même pas apprenti informaticien).
    Bref, La base de données est déjà créée (avec une clé primaire bien sûr).
    Avant j'avais des fichier csv, je pouvais les importer depuis leurs emplacement vers la base, maintenant j'ai plusieurs milliers de fichiers .txt dont je souhaite importer le contenu dans la base de données.
    ceci dit, l'arborescence est la suivante: "Z:/dataB/dataF/2012-07-16/18h00/gps.txt" et je dois le faire pour des données gps, des données satellites, des données pays, des données sol, ...

    2012-07-16: représente la date de collecte, j'en ai 58
    18h00 : représente l'heure de collecte de données, pour chaque date j'en 12

    Je cherche un moyen qui m'éviterait de les importer un à un, c'est pour cette raison que je souhaite les copier dans un répertoire et faire un script pour les importer dans la base.

  7. #7
    Membre très actif Avatar de unknow0
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 452
    Par défaut
    Citation Envoyé par arm3366 Voir le message
    Je cherche un moyen qui m'éviterait de les importer un à un, c'est pour cette raison que je souhaite les copier dans un répertoire et faire un script pour les importer dans la base.
    faire un script qui en importe un et l'appeler depuis le find?

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 20/08/2011, 10h55
  2. Réponses: 10
    Dernier message: 24/05/2007, 17h27
  3. [SQL] Unicité d'un champ de résultat portant le même nom
    Par lodan dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 09/11/2006, 12h39
  4. input portant le même nom
    Par cronos6 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 18/05/2006, 13h29
  5. Regrouper des fichiers sous un même nom
    Par Azharis dans le forum C++
    Réponses: 7
    Dernier message: 22/06/2005, 13h05

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