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 :

déplacer des fichiers selon leur extension


Sujet :

Shell et commandes GNU

  1. #1
    Membre régulier Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Points : 73
    Points
    73
    Par défaut déplacer des fichiers selon leur extension
    Bonjour,

    On me demande de déplacer les fichiers avec une même extension dans un répertoire nommer par cette même extension .
    Par exemple déplacer essai.c dans le dossier c ou machin.1 dans le dossier 1 . Si ces dossiers n'existent pas ils doivent être créès automatiquement .

    Je n'arrive pas du tout à réaliser cet exercice .ça fait déjà deux jours que j'essaie de le résoudre . Je me doute qu'il faut employer la commande mv ou find mais je ne comprends pas comment ?
      0  0

  2. #2
    Rédacteur
    Avatar de lavazavio
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 673
    Points : 2 412
    Points
    2 412
    Par défaut
    Bonjour,

    Le forum n'a pas pour but de faire les exercices des gens à leur place.
    Par contre, tu peux nous proposer un bout de code, nous donner ce que tu as fait pour le moment, afin que nous puissions t'orienter vers une solution.
    Rédacteur et Modérateur rubriques Linux et Virtualisation
    Mes Articles
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux
    N'oubliez pas de consulter les FAQ virtualisation et les cours et tutoriels Virtualisation
    Man pages en français
      0  0

  3. #3
    Membre régulier Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Points : 73
    Points
    73
    Par défaut
    Je cherche surtout à résoudre mon problème et j'ai l'impression de tourner en rond

    Pour le moment je rédige sur le papier ce que je dois faire et je cherche la signification des différentes commandes que je peux utilisées

    Sur le papier mon programme doit :
    -créer un répertoire avec le nom de l'extension si ce répertoire n'existe pas
    -déplacer les fichiers avec la même extension dans les bons répertoires
    -afficher les actions effectuées que ce soit création de répertoires ou déplacement de fichier

    Mon plus gros problème est le 2) déplacer les fichiers avec la même extension
      0  0

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 377
    Points
    19 377
    Par défaut
    Étape 1 : Savoir lister le contenu d'un répertoire sans utiliser ls ou find
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.
      0  0

  5. #5
    Membre actif
    Profil pro
    Ingénieur
    Inscrit en
    Mars 2007
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Mars 2007
    Messages : 199
    Points : 291
    Points
    291
    Par défaut
    Quelques pistes :

    man test
    man mkdir
    man cut
    man `basename \`echo $SHELL\`` ou man sh
    (Recherche les structures de boucles itératives : for, while, ...)
    man echo

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #!/bin/sh
     
    echo "Hello world !"
     
    exit 0

    N_BaH, pourquoi ne pas utiliser ls et find ?
      0  0

  6. #6
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 377
    Points
    19 377
    Par défaut
    Citation Envoyé par ericduval
    N_BaH, pourquoi ne pas utiliser ls et find ?
    parceque, si comme je le crois il s'agit d'un répertoire plat (sans sous-répertoire(s)), ce n'est pas indispensable.
    Tout comme cut (à la place, on peut utiliser le "Remplacement des paramètres").
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.
      0  0

  7. #7
    Membre à l'essai
    Inscrit en
    Octobre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Octobre 2009
    Messages : 10
    Points : 15
    Points
    15
    Par défaut
    echo *.extension
      0  0

  8. #8
    Membre régulier Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Points : 73
    Points
    73
    Par défaut
    Étape 1 : Savoir lister le contenu d'un répertoire sans utiliser ls ou find
    Justement je pense que c'est là que je bloque

    J'ai créer un répertoire 'range' avec des fichiers et des sous dossiers . Il y a des fichiers avec ou sans extension . Le problème est de ranger les fichiers avec extensions dans des dossiers portant le nom de ces extensions et si ces dossiers n'existent pas , il faut les crées automatiquement
      0  0

  9. #9
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 377
    Points
    19 377
    Par défaut
    Bonjour chicabonux,

    Tu peux nous donner les commandes que tu utilises pour créer l'arborescence (sous-répertoires, fichiers) de 'range' ? Les sous-répertoires sont vides ? Il faut traiter leurs fichiers aussi ?
    Peut-être nous représenter le résultat que tu souhaites obtenir...
    ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.
      0  0

  10. #10
    Membre régulier Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Points : 73
    Points
    73
    Par défaut
    'range' est un dossier que j'ai créé avec mkdir . Ensuite j'ai créé les fichiers avec vim et j'ai utilisé mv pour mettre les fichiers dans 'range'

    J'ai donc :

    essai.c essaibis.c graphic.pas 1 machin.1
    pas toto.pas truc1 truc2 truc3

    Je voudrais avoir ça d'afficher avec le programme créé :

    $ programme créé
    le repertoire c a été cree
    le fichier essai.c a ete deplace dans c
    le fichier essaibis.c a ete deplace dans c
    le fichier graphic.pas a ete deplace dans pas
    le fichier machin.1 a ete deplace dans 1
    le fichier toto.pas a ete deplace dans pas
    $ ls -C
    c 1 pas truc1 truc2 truc3
      0  0

  11. #11
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 377
    Points
    19 377
    Par défaut
    On peut afficher le contenu d'un répertoire avec la commande echo, grâce au Développement des noms de fichiers.
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo $repertoire/*
    range/1 range/essaibis.c range/essai.c range/graphic.pas range/machin.1 range/pas range/toto.pas range/truc1 range/truc2 range/truc3
    On pourrait triturer cette commande, pour obenir le résultat sur une colonne, ou utiliser printf, ou encore utiliser une boucle for :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for fichier in $repertoire/*
     do
       echo $fichier
    done
    Etape 2 : distinguer les fichiers des répertoires...
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.
      0  0

  12. #12
    Membre régulier Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Points : 73
    Points
    73
    Par défaut
    Un dossier peut être signalé par -d et un fichier par -f ?

    (Tu peux me donner la page d'accueil du man ? Je ne la trouve pas ? )
      0  0

  13. #13
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 377
    Points
    19 377
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.
      0  0

  14. #14
    Membre régulier Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Points : 73
    Points
    73
    Par défaut
    Merci beaucoup je vais les étudier pour m'améliorer
      0  0

Discussions similaires

  1. Déplacer les fichiers selon leur extension
    Par Battant dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 13/06/2015, 20h06
  2. Recherche & Sauvegarde des fichiers par leurs Extensions
    Par hackoofr dans le forum Vos Contributions VBScript
    Réponses: 1
    Dernier message: 16/02/2013, 07h22
  3. supprimer des fichiers selon leur nom
    Par qmike dans le forum VBScript
    Réponses: 3
    Dernier message: 12/06/2012, 09h28
  4. comment trouver des fichiers avec leur extension seulement?
    Par casual92 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/07/2010, 13h43
  5. Lire des fichiers selon leur nom
    Par guiguilelotois dans le forum LabVIEW
    Réponses: 4
    Dernier message: 18/05/2009, 13h55

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