Rechercher : dans
Par :

Pipe de commandes

Dernière réponse le 6 jan 2007 à 19:35:05 furax77, le 6 jan 2007 à 14:47:02 
 Signaler ce message aux modérateurs

Bonjour,
Quelqu'un s'est il ,s'il est possible de "piper" le résultat d'une commande mv à un gzip. pour ne faire qu'une seule commande . (ou l'inverse gzip "piper" à un mv) afin de remplacr les 2 commades suivantes.

mv /home/user1/toto.gz /home/user2|
gzip -d /home/user2/toto.gz

Merci d'avance

JJ

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « pipe de commandes » dans :
Pipe / Barre verticale sous Mac Voir Pour saisir le caractère pipe (|) sous Mac OS, il suffit de saisir la combinaison de touches clavier suivante : Alt + Maj + L
Liste des commandes Windows VoirRemarques : Certaines commandes sont dangereuses (l’exemple de SYSKEY) et peuvent causer des problèmes pouvant conduire au formatage. D’autres commandes ne sont pas exécutables sous Windows XP ou des versions antérieures, je ne les ai pas...
[MS-Dos] Commandes DOS de base VoirCes commandes sont des commandes de base que vous pouvez utiliser dans un prompt DOS, par exemple, sur une disquette de démarrage. Pour obtenir plus d'informations sur ces commandes, tapez (dans un prompt DOS), le nom de votre commande suivi de...
Commandes IP relatives aux réseaux sous Windows VoirIl est parfois très utile de connaître les commandes IP, pour analyser voire configurer ses réseaux TCP/IP. Voici la liste de ces commandes à utiliser dans une fenêtre DOS...
Commandes Linux VoirTableau des principales commandes Linux Commande Description équivalent DOS ls liste le contenu d'un répertoire dir cd change de répertoire cd cd .. répertoire parent cd.. mkdir crée un nouveau...
Systèmes UNIX - Le shell VoirIntroduction au shell L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Le shell est ainsi chargé de faire l'intermédiaire entre le système...
Commandes UNIX VoirTableau des principales commandes UNIX Commande Unix Description Options ls liste le contenu d'un répertoire -a Affiche tous les fichiers, y compris les fichiers cachés ...

1

lami20j, le 6 jan 2007 à 16:42:24

Salut,

tu peux faire dans une seule commande

mv /home/user1/toto.gz /home/user2 && gzip -d /home/user2/toto.gz


ou

gzip -dc /home/user1/toto.gz > /home/user2/toto && rm -v /home/user1/toto.gz


Regarde le chapitre XXX. Les redirections et les pipelines
lami20j

Répondre à lami20j

2

furax77, le 6 jan 2007 à 18:18:16

Merci,
mais en fait dans tes solutions il s'agit plus de 2 commandes consécutives avec l'utilisation du "&&".
Je cherchai s'il était possible de prendre en entrée de la seconde commande la sortie de la précédente ( le pipe)
merci quand mème
JJ

Répondre à furax77

3

lami20j, le 6 jan 2007 à 18:22:23

Tu peux faire avec le chemin relatif

Supposons au tu te trouves dans /home/user1
c'est-à-dire que tu vois une invité (prompt) de genre [user1@localhost ~] $

Voià la commande avec le chemin relatif

mv toto.gz ../user2 && gzip -d ../user2/toto.gz

lami20j

Répondre à lami20j

4

lami20j, le 6 jan 2007 à 19:07:04

Je cherchai s'il était possible de prendre en entrée de la seconde commande la sortie de la précédente ( le pipe)

Mais la sortie de la commande mv c'est quoi?
c'est un échec ou un succés donc il n'y a rien à transmettre en entrè pour la 2ème commande

mais en fait dans tes solutions il s'agit plus de 2 commandes consécutives avec l'utilisation du "&&".


Avec pipe c'est la même chose, c'est seulement l'interpretation qui n'est pas la même

commande1 | commande2

la sortie de commande1 est l'entrée de commande2

commande1 && commande2


commande2 s'exécute si et seulement la commande1 réussi

Dans ton cas tu as un résultat qui peut être une réussite où un échec, donc && est ce qu'il te faut

Un exemple avec |

cat fichier | less
cat fichier affiche sur la sortie standard le contenu de fichier
less lit la sortie de cat et permet la visualisation ligne par ligne

Dans ton cas tu peux faire quelque chose de genre

gzip -dc /home/user1/toto.gz | /home/user2/toto.gz && rm /home/user1/toto.gz

lami20j

Répondre à lami20j

5

lami20j, le 6 jan 2007 à 19:13:57

afin de remplacr les 2 commades suivantes.


A savoir que ça reste toujours 2 commandes

mv /home/user1/toto.gz /home/user2 | gzip -d /home/user2/toto.gz


Cette commande fonctionne aussi.
Le résultat de mv et lu par la commande suivante ensuite le fichier /home/user2/toto.gz est decompressé

Dans ce cas si jamais tu as une erreur dans la 1ère commande la 2ème essaie quand même de s'exécuter. Elle va avoir aussi un échec vu que le fichier n'a pas été deplacé.

En revanche avec && la 2ème commande n'est exécutée que si la 1ère a réussi.

J'espère que j'ai été assez claire.
lami20j

Répondre à lami20j

6

jipicy, le 6 jan 2007 à 19:28:26

J'espère que j'ai été assez claire
Dans ce cas là, faut changer de pseudo => lamie20j ;-DDDDD

Bonne soirée ;-)
Z'@+...che.

JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

7

 lami20j, le 6 jan 2007 à 19:35:05

Salut,

ne te moque pas de moi :-DDDD
celui qui ne travaille pas, ne fait pas non plus d'erreurs :-DDDDD

c'est vrai aussi que celui qui fait d'erreus ne veut pas dire qu'il travaille :-DDDD

Sinon, ça va?
lami20j

Répondre à lami20j