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

Unix Discussion :

supprimer les fichiers a partir d'un fichier txt


Sujet :

Unix

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Points : 118
    Points
    118
    Par défaut supprimer les fichiers a partir d'un fichier txt
    j'ai un fichier 1.txt avec la liste des fichiers comme ceci.
    rep/f1.jpg
    rep/f2.jpg
    ..
    j'aimerais savoir comment faire en shell pour
    soit supprimer
    soit deplacer dans un repertoire rep1
    tous fichiers qui se trouvent dans mon fichier 1.txt

    merci d'avance

  2. #2
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Si le fichier n'est pas trop gros:et

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Points : 118
    Points
    118
    Par défaut
    merci
    le fichier comporte quelques milliers de lignes.Je ne sais pas si ton code marchera ou pas

  4. #4
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Ca dépend de l'Unix que tu utilises. Sous Solaris, la taille des arguments peut aller jusqu'à 1 Mo ou 2Mo. Ca devrait etre largement suffisant pour quelques milliers de fichiers.

  5. #5
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    cat 1.txt |
    while read line
    do
       mv ${line} rep1
    done
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    cat 1.txt |
    while read line
    do
       rm ${line}
    done

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Points : 118
    Points
    118
    Par défaut
    merci sekeijin et les autres .je vais tester .A mon avis c'est sur que ca marche

  7. #7
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Une boucle "while read ..." va exécuter les "mv" et "rm" autant de fois qu'il y a de fichiers. Ca va donc être plus long, surtout avec des milliers de fichiers. Autre point: le "cat 1.txt |" est superflu, une redirection suffit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    while read line
    do
        ...
    done < 1.txt
    Pour les effacements, une solution plus optimisée:

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Points : 118
    Points
    118
    Par défaut
    merci beaucoup

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

Discussions similaires

  1. supprimer les occurrences de ligne d'un fichier
    Par need2learn dans le forum Linux
    Réponses: 1
    Dernier message: 30/11/2008, 15h48
  2. supprimer les espaces d'un nom de fichier
    Par Joey5 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 07/11/2008, 11h56
  3. Supprimer les 10 premiers caractère d'un fichier
    Par toitoine01 dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 12/03/2008, 10h15
  4. Probleme avec les accents a partir d'un fichier
    Par doudoustephane dans le forum Access
    Réponses: 5
    Dernier message: 04/07/2006, 16h26
  5. Supprimer les dernieres lignes et concatener plusieurs fichier
    Par filsdugrand dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 11/04/2006, 21h15

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