[pipe] Réutiliser le résultat d'une commande
Résolu/Fermé
charline159
Messages postés
208
Date d'inscription
lundi 14 août 2017
Statut
Membre
Dernière intervention
22 juin 2022
-
29 mars 2021 à 22:08
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 1 avril 2021 à 11:49
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 1 avril 2021 à 11:49
A voir également:
- [pipe] Réutiliser le résultat d'une commande
- Invite de commande - Guide
- Commande terminal mac - Guide
- Lexer resultat - Télécharger - Sport
- Resultat foot - Télécharger - Vie quotidienne
- Diskpart commande - Guide
4 réponses
dachiasse
Messages postés
1709
Date d'inscription
samedi 12 septembre 2020
Statut
Membre
Dernière intervention
13 mai 2021
149
30 mars 2021 à 02:25
30 mars 2021 à 02:25
Salut,
La commande est
La seconde commande est compliquée, rien qu'à lire.
Et la première est inutile. Parce que tu vas chercher un fichier. Soit il est présent, tu l'envoies en lecture par
En revanche, si tu fais directement :
La commande est
findet non
fileje crois.
La seconde commande est compliquée, rien qu'à lire.
Et la première est inutile. Parce que tu vas chercher un fichier. Soit il est présent, tu l'envoies en lecture par
cat. Soit il est absent et tu devrais avoir une erreur de retour de
cat(je n'ai pas testé).
En revanche, si tu fais directement :
cat fileça t'évite d'écrire la commande de recherche.
charline159
Messages postés
208
Date d'inscription
lundi 14 août 2017
Statut
Membre
Dernière intervention
22 juin 2022
1
30 mars 2021 à 10:35
30 mars 2021 à 10:35
Salut, oui effectivement il y a une faute de frappe, c'est bien
Je cherchais une manière de simplifier tout ça justement, pour éviter d'avoir à le faire en 2 fois comme ceci:
puis
car en une fois c'est plus simple, afin de pouvoir aller plus vite et d'automatiser certaines tâches. Mais le fait de tout grouper en 1 fois, je ne sais pas si c'est quelque chose qui se fait habituellement ?
findque je voulais utiliser. Merci à toi.
Je cherchais une manière de simplifier tout ça justement, pour éviter d'avoir à le faire en 2 fois comme ceci:
file . -name file
puis
cat file
car en une fois c'est plus simple, afin de pouvoir aller plus vite et d'automatiser certaines tâches. Mais le fait de tout grouper en 1 fois, je ne sais pas si c'est quelque chose qui se fait habituellement ?
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
Modifié le 30 mars 2021 à 12:48
Modifié le 30 mars 2021 à 12:48
Bonjour,
Imaginons que le dossier
Dans ce cas :
Cependant attention ! Des précautions doivent être prises si les arguments, ici tes noms de fichiers, contiennent des espaces. Pour plus de détails voir cette discussion.
Bonne chance
Imaginons que le dossier
~/totocontienne trois fichiers nimmés
fichier1.txt,
fichier2.txtet
fichier3.txt, contenant respectivement le texte
coucou1,
coucou2et
coucou3:
(mando@silk) (~/toto) $ find . -type f
./fichier3.txt
./fichier1.txt
./fichier2.txt
(mando@silk) (~/toto) $ head fichier*txt
==> fichier1.txt <==
coucou1
==> fichier2.txt <==
coucou2
==> fichier3.txt <==
coucou3
Dans ce cas :
- Si tu veux passer simultanément en paramètre à une commande (disons
cat
), i.e. exécuter la commandecat fichier1.txt fichier2.txt fichier3.txt
, tu peux utiliserxargs
qui remet sur une ligne d'arguments les lignes générées sur la sortie standard par la commandes précédant le|
:
(mando@silk) (~/toto) $ find . -type f | xargs cat
coucou3
coucou1
coucou2
- Si tu veux itérativement appliquer une commande à chacun de ces fichiers (disons
echo
), tu peux injecter le résultat de ta commande dans une bouclefor
:
(mando@silk) (~/toto) $ for x in $(find -type f); do echo $x; done
./fichier3.txt
./fichier1.txt
./fichier2.txt
Cependant attention ! Des précautions doivent être prises si les arguments, ici tes noms de fichiers, contiennent des espaces. Pour plus de détails voir cette discussion.
Bonne chance
charline159
Messages postés
208
Date d'inscription
lundi 14 août 2017
Statut
Membre
Dernière intervention
22 juin 2022
1
30 mars 2021 à 19:03
30 mars 2021 à 19:03
Je viens de tester, et ça marche parfaitement bien ! C'est exactement ce que je cherchais. Je te remercie !
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
1 avril 2021 à 11:49
1 avril 2021 à 11:49
De rien, bonne continuation !