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 :

supprimer contenu de plusieurs répertoires via un script


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 12
    Par défaut supprimer contenu de plusieurs répertoires via un script
    Bonjour à tous,

    je suis à la recherche d'aide pour créer un script qui va me permettre d'effacer le contenu de plusieurs répertoires via un script.

    Les répertoires sont des répertoires personnels d'elèves.
    exemple:
    6a01:x:1130:508::/home/users/eleves/6emes/6a01:/bin/false
    6a02:x:1131:508::/home/users/eleves/6emes/6a02:/bin/false
    6a03:x:1132:508::/home/users/eleves/6emes/6a03:/bin/false
    6a04:x:1133:508::/home/users/eleves/6emes/6a04:/bin/false
    6a05:x:1134:508::/home/users/eleves/6emes/6a05:/bin/false
    6a06:x:1135:508::/home/users/eleves/6emes/6a06:/bin/false
    6a07:x:1136:508::/home/users/eleves/6emes/6a07:/bin/false
    6a08:x:1137:508::/home/users/eleves/6emes/6a08:/bin/false
    6a09:x:1138:508::/home/users/eleves/6emes/6a09:/bin/false
    6a10:x:1139:508::/home/users/eleves/6emes/6a10:/bin/false
    6a11:x:1140:508::/home/users/eleves/6emes/6a11:/bin/false
    .....
    J'ai 35 repertoires pas classes et j'ai les classes de :
    6a à 6g
    5a à 5g
    4a à 4g
    3a à 3i



    Merci à tous pour votre aide qui me sera très précieuse.

  2. #2
    Membre émérite
    Avatar de panda31
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2003
    Messages : 670
    Par défaut
    Tu crées donc un script en ce que tu veux au niveau langage avec en INPUT: la classe à réinitialiser.
    Dans ton script, tu as juste à "descendre" dans ton répertoire associée à la classe 6ème par exemple. Puis, pour chaque répertoire présent, tu fais un appel à la commande système rm -R dossier_à_vider.

    J'espère t'avoir répondu correctement
    Michaël Mary
    Consultant PLM dans une société de conseil toulousaine
    Auditeur CNAM-IPST depuis septembre 2008
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    John F. Woods
    mon cv et mon domaine et mon blog
    Aucune question technique par MP, svp

  3. #3
    Membre Expert
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Par défaut
    Bonjour,
    Voici ma solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    while read line; do
    	dir=$(echo $line | cut -d: -f6)/*
    	echo "Suppression de : $dir"
    	rm -rf $dir
    done
    narma@linimi:/tmp/scrpt$ cat datas.txt
    6a01: x:1130:508::/home/users/eleves/6emes/6a01:/bin/false
    6a02: x:1131:508::/home/users/eleves/6emes/6a02:/bin/false
    6a03: x:1132:508::/home/users/eleves/6emes/6a03:/bin/false
    6a04: x:1133:508::/home/users/eleves/6emes/6a04:/bin/false
    6a05: x:1134:508::/home/users/eleves/6emes/6a05:/bin/false
    6a06: x:1135:508::/home/users/eleves/6emes/6a06:/bin/false
    6a07: x:1136:508::/home/users/eleves/6emes/6a07:/bin/false
    6a08: x:1137:508::/home/users/eleves/6emes/6a08:/bin/false
    6a09: x:1138:508::/home/users/eleves/6emes/6a09:/bin/false
    6a10: x:1139:508::/home/users/eleves/6emes/6a10:/bin/false
    6a11: x:1140:508::/home/users/eleves/6emes/6a11:/bin/false
    narma@linimi:/tmp/scrpt$ cat datas.txt | ./scrpt.sh
    Suppression de : /home/users/eleves/6emes/6a01/*
    Suppression de : /home/users/eleves/6emes/6a02/*
    Suppression de : /home/users/eleves/6emes/6a03/*
    Suppression de : /home/users/eleves/6emes/6a04/*
    Suppression de : /home/users/eleves/6emes/6a05/*
    Suppression de : /home/users/eleves/6emes/6a06/*
    Suppression de : /home/users/eleves/6emes/6a07/*
    Suppression de : /home/users/eleves/6emes/6a08/*
    Suppression de : /home/users/eleves/6emes/6a09/*
    Suppression de : /home/users/eleves/6emes/6a10/*
    Suppression de : /home/users/eleves/6emes/6a11/*

  4. #4
    Membre émérite
    Avatar de panda31
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2003
    Messages : 670
    Par défaut
    rrrrro une solution toute faite... C'est mal!
    Michaël Mary
    Consultant PLM dans une société de conseil toulousaine
    Auditeur CNAM-IPST depuis septembre 2008
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    John F. Woods
    mon cv et mon domaine et mon blog
    Aucune question technique par MP, svp

  5. #5
    Membre Expert
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Par défaut
    Oui je sais mais bon ça faisait longtemps que je n'avais pas fait de script

  6. #6
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 12
    Par défaut
    ok c'est parfait merci beaucoup

    J'ai préféré utiliser awk de cette façon

    while read line; do
    dir=$(echo $line |awk -F: /^[3-6]/'{ print $6 }')/*
    echo "Suppression de : $dir"
    rm -rf $dir
    done

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

Discussions similaires

  1. [XL-2003] Supprimer contenu de plusieurs plages
    Par dlight dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/02/2011, 15h35
  2. Supprimer le contenu d'un répertoire
    Par maroua_mm dans le forum Qt
    Réponses: 1
    Dernier message: 20/02/2010, 10h23
  3. supprimer le contenu d'un répertoire .bat
    Par rojina29 dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 25/05/2009, 15h14
  4. supprimer contenu répertoire
    Par zafo dans le forum ANT
    Réponses: 4
    Dernier message: 07/11/2008, 09h58
  5. [MS-DOS] Supprimer tout les sous répertoires contenu dans un
    Par Furius dans le forum Scripts/Batch
    Réponses: 7
    Dernier message: 30/11/2005, 12h24

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