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

Linux Discussion :

Problème espace dans fichier


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 19
    Par défaut Problème espace dans fichier
    Bonjour,

    J'ai un repertoire avec des dossiers et des fichiers avec des espaces.

    je veux faire un script qui va me verifier si mon repertoire est pas trop grand (si c'est le cas il me supprime les fichier els plus anciens jusqu'a revenir a une taille acceptable.

    Pour cela j'ai fais ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    if [ `du -sk $dir_tocheck|awk '{print $1}'` -gt $max_size ]
    then
            echo "La taille de la corbeille dépasse le quota autorisé ($max_size Ko)"
            find  $dir_tocheck -atime +0 > file.temp
            sed -e 's/ /\\ /g' file.temp > file.ok
            while read files 
            do
                    echo "Suppresion de $files"
                    rm -rf $files
     
                    if [ `du -sk $dir_tocheck|awk '{print $1}'` -gt $max_size ]
                    then
                            continue
                    else
                            echo "Corbeille propre (`du -sm $dir_tocheck|awk '{print $1}'` Mo)"
                            exit 0
                    fi
            done < file.ok
            rm file.ok
            rm file.temp
    Je n'ai rien trouvé de mieux pour em sortir une liste des fichiers du plus anciens au plus vieux que de faire un find -atime +0. J'ai essayé avec un ls -lRt mais apres pour le traitement ca ne m'allait pas.

    J'ai commencé par faire un for file in `find monfichier -atime +0`, mais étant doné qu'il y a des espace dans mes nom de repertoires, mon for coupait les noms de repertoires par mot.

    C'est pourquoi je suis passé par un find + un sed, comme ca je peux supprimer mes fichiers a partir de ce que ma sortie mon sed avec un \ devant mes espaces.

    Problèmes: Si je regarde mon file.ok, j'ai bien un chemin comme je veux par contre si je fais un while et un read, il me fait sauter mes \ donc quand je vais un rm de $ligne mon rm ne marche pas car il met en le chemin sans les \ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    /distant/julienb/script/cron/test1/un\ espace/deux\ espaces/a
    /distant/julienb/script/cron/test1/un\ espace/deux\ espaces/s
    /distant/julienb/script/cron/test1/un\ espace/deux\ espaces/i
    /distant/julienb/script/cron/test1/un\ espace/deux\ espaces/r
    julienb@julien:~/script/cron$ while read ligne;do echo $ligne ;done < file.ok
    /distant/julienb/script/cron/test1/un espace/deux espaces/a
    /distant/julienb/script/cron/test1/un espace/deux espaces/s
    Est ce que quelqun sait comme me sortir de ces problèmes de caractères?

    Merci!!

  2. #2
    Membre émérite
    Avatar de D[r]eadLock
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    504
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 504
    Par défaut
    Ajoute des "" autour des variables que tu veux protéger (i.e. qui contiennent potentiellement des espaces), en gros rm ... "$..".

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 19
    Par défaut
    Citation Envoyé par D[r]eadLock Voir le message
    Ajoute des "" autour des variables que tu veux protéger (i.e. qui contiennent potentiellement des espaces), en gros rm ... "$..".
    Merci, c'était tout bête :-).

    Honte a moi

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

Discussions similaires

  1. Problème espace dans Spool vers fichier texte
    Par hatimov dans le forum PL/SQL
    Réponses: 7
    Dernier message: 25/06/2010, 17h10
  2. Problème espaces dans nom de fichier
    Par Mygush dans le forum Général Java
    Réponses: 9
    Dernier message: 31/10/2008, 12h21
  3. [AJAX] Fichier ASP appelé par AJAX
    Par dragonfly dans le forum Général JavaScript
    Réponses: 24
    Dernier message: 14/06/2007, 11h14
  4. problème path dans fichier zip
    Par jpastier dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 20/05/2006, 16h06
  5. Problème espaces dans requête
    Par dl_jarod dans le forum ASP
    Réponses: 12
    Dernier message: 12/10/2005, 12h02

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