Traiter le resultat d'une commande -script-

Résolu
Bonjours a tous.
Je voudrais effacer tout les fichiers liés a kdevelop car je suis devant un pb insolvable.
La commande locate me retourne le chemin de ces fichiers et je voudrais mettre chaque ligne de cette commande dans un fichier avec devant
rm -d -r -f 
pour traiter tous les cas. J'ai déja fais un grand nettoyage grace a '*' mes d'autres sont plus penible a effacer.
Merci de votre aide.
Configuration: Linux Mandriva
Firefox 1.5.0.9

7 réponses

  1. Ouai je sais mais je trouve pas ca trés pratique.
    Dans le cas des microcontroleur j'utilise le compilteur pclite et chez microchip ils font le minimun pour linux, et c'est vraiment pas pratique leur histoire.
    Mais ils pensent a nous donc merci qd même.
    Mais c'est vrai que j'ao même pas pensé a verifier que gcc fonctionne bien!!!
    Merci lami20j.
    0
    1. Modérateur
      Re,

      Je dois me mettre au shell car j'aimerais bien ecrire un petitscript pour copiler des fichier en c pour l

      Voilà pour compiler un fichier (voir man gcc pour les détails)
      gcc -o fichier fichier.c

      Si kdevelop ne fonctionne pas tu peux essayer Anjuta
      0
      1. Merci pour les liens et les explications.
        Bon pour kdevelop ca marche toujours pas et ca me saoul. Le problème vient du compilateur c++ je pense.
        Je dois me mettre au shell car j'aimerais bien ecrire un petitscript pour copiler des fichier en c pour le pic et franchement c'est un langage puissant mais assez complex au première abord et c'est pas les quelques commandes classique que je connais qui vont suffir!!!
        Merci pour tout.
        0
        1. Modérateur
          Pour | - qu'on l'appelle pipe tu peux regarder dans la faq ccm shell guide d utilisation niveau debutant le chapitre

          XXX. Les redirections et les pipelines


          C'est quoi la condition d'arret de ce while?
          l'existance d'une ligne, des qu'il n'y a plus des lignes alors while s'arrête
          regarde ici comment lire un fichier ligne par ligne
          je crois qu'après la lecture d'exemples tu vas comprendre
          0
          1. Merci pour votre aide.
            C'est assez suptile -enfin pour moi-.
            Merci lami20j de vouloir ma Mort;-).
            Trés efficace ta methode merci, bon c'est pas trés catolique de résoudre les problème de cette manière mais aprés tout si ca marche. Ca doit en faire rire plus d'un, le petit debutant qui fait le bourin parcequ'il comprend pas tt!!!
            Par contre pourrais tu revenir sur le
             locate zozizon | while read i
            .
            le | signifie quoi et le while read i je comprend pas trop sont fonctionnement.
            C'est quoi la condition d'arret de ce while?
            J'utilise souvent | dans ls | grep xxx sans même comprendre |.
            Merci de ta patience.
            0
            1. Modérateur
              Regarde un exemple dans le quel j'ai choisi de te supprimer :-)))
              lami20j@debian:~$ locate zozizon
              /home/lami20j/zozizon
              /home/lami20j/zozizon/zozion10.txt
              /home/lami20j/zozizon/zozion1.txt
              /home/lami20j/zozizon/zozion2.txt
              /home/lami20j/zozizon/zozion3.txt
              /home/lami20j/zozizon/zozion4.txt
              /home/lami20j/zozizon/zozion5.txt
              /home/lami20j/zozizon/zozion6.txt
              /home/lami20j/zozizon/zozion7.txt
              /home/lami20j/zozizon/zozion8.txt
              /home/lami20j/zozizon/zozion9.txt
              lami20j@debian:~$ ls -ld zozizon/
              drwxr-xr-x 2 lami20j lami20j 4096 2007-02-09 15:37 zozizon/
              lami20j@debian:~$ locate zozizon | while read i;do rm -vfR $i;done
              détruit `/home/lami20j/zozizon/zozion7.txt'
              détruit `/home/lami20j/zozizon/zozion10.txt'
              détruit `/home/lami20j/zozizon/zozion6.txt'
              détruit `/home/lami20j/zozizon/zozion4.txt'
              détruit `/home/lami20j/zozizon/zozion8.txt'
              détruit `/home/lami20j/zozizon/zozion5.txt'
              détruit `/home/lami20j/zozizon/zozion3.txt'
              détruit `/home/lami20j/zozizon/zozion1.txt'
              détruit `/home/lami20j/zozizon/zozion2.txt'
              détruit `/home/lami20j/zozizon/zozion9.txt'
              détruire le répertoire: `/home/lami20j/zozizon'
              lami20j@debian:~$ ls -ld zozizon/
              ls: zozizon/: Aucun fichier ou répertoire de ce type
              
              Mais avec find tu as plusiers obtions pour filtrer ce que tu cherches
              0
              1. Modérateur
                Salut,

                si tu utilise l'option -r tu n'as pas besoin de -d
                et tu peux grouper les options
                rm -fr
                je préfére utilser R au lieu de r (pour la lisibilité :-)), donc rm -fR

                Tu peux combiner rm avec find, pour une suppression automatique, pas besoin d'ajouter dans en fichier.

                Veux-tu détailler? Merci
                0