Forum général.général Commande "puis" à la place de "et"

Posté par  .
Étiquettes : aucune
0
30
jan.
2006
Bonjour,


J'ai besoin d'extraire tous les fichiers *.sxw d'un CD vers un seul répertoire de mon HDD. J'ai donc entré la commande :

cp /media/cdrom/*.sxw /home/renald/test|cp /media/cdrom/*/*.sxw /home/renald/test|cp /media/cdrom/*/*/*.sxw /home/renald/test|cp /media/cdrom/*/*/*/*.sxw /home/renald/test|cp /media/cdrom/*/*/*/*/*.sxw /home/renald/test

Oui je sais, c'est un peu barbare... Mais le véritable problème c'est que quand je tape ça, le lecteur CD deviens fou : il exécute toutes les commandes cp en même temps !

Donc je voulais savoir s'il y avait un autre caractère à mettre à la place du | (tube) qui permet d'effectuer plusieurs commandes les unes à la suite des autres, et pas toutes en même temps ? Sinon, si vous avez un autre chemin à m'indiquer pour arriver à mes fins, je suis preneur aussi. Merci.


Rénald.
  • # &&

    Posté par  . Évalué à 5.

    a && b

    il exécute "a" puis "b" si "a" a réussi
  • # ;

    Posté par  . Évalué à 2.

    a; b; c;

    execute a puis b puis c sans tenir compte du retour de la commande précédente ... (contrairement a && et || )

    Dam
  • # re

    Posté par  . Évalué à 8.

    Une commande bcp plus simple et exhaustive serait:

    find /media/cdrom -name "*.sxw" -exec cp {} /home/renald/test/ \;

    Sinon, le | étant pr rediriger la sortie de soft1 vers l'entrée de soft2, dans le même genre du à:

    soft1 && soft2 : execute soft2 si et seulement si soft1 n'a pas échoué
    soft1 ; soft2 : execute soft2 après soft1
  • # find sait tout faire

    Posté par  . Évalué à 7.

    find /media/cdrom -iname *.sxw -exec cp {} /home/renald/test \;

    Et en principe, pas de threads concurrents.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.