Récupérer une information pour s'en servir comme variable
charline159
Messages postés
208
Date d'inscription
Statut
Membre
Dernière intervention
-
jee pee Messages postés 42332 Statut Modérateur -
jee pee Messages postés 42332 Statut Modérateur -
Bonjour,
J'aimerais savoir comment faire pour récupérer une information depuis la sortie (affichée dans le terminal) pour pouvoir s'en servir dans les commandes suivantes (à l'aide d'un pipe). Par exemple, pour l'afficher avec echo, ou pour boucler avec.
Par exemple, si dans mon terminal, l'affichage d'un fichier (avec
En chaînant mon
ou encore ceci pour faire une boucle:
sans succès...
Des idées ?
J'aimerais savoir comment faire pour récupérer une information depuis la sortie (affichée dans le terminal) pour pouvoir s'en servir dans les commandes suivantes (à l'aide d'un pipe). Par exemple, pour l'afficher avec echo, ou pour boucler avec.
Par exemple, si dans mon terminal, l'affichage d'un fichier (avec
cat file) me renvoie le résultat suivant:
3
En chaînant mon
cat filedirectement avec un pipe
|, comment puis-je récupérer le 3 afin de l'afficher avec un echo? J'ai déjà essayé ceci, mais ça ne marche pas:
cat file | xargs echo
ou encore ceci pour faire une boucle:
cat file | for i in $(xargs); echo hello; done
sans succès...
Des idées ?
A voir également:
- Récupérer une information pour s'en servir comme variable
- Recuperer message whatsapp supprimé - Guide
- Comment recuperer une video sur youtube - Guide
- Information d'identification réseau - Guide
- Récupérer mon compte facebook désactivé - Guide
- Comment récupérer un compte facebook piraté - Guide
3 réponses
Bonjour,
Pour moi avec xargs cela fonctionne. Mais si tu veux le contenu du fichier dans une variable tu peux aussi faire :
Pour moi avec xargs cela fonctionne. Mais si tu veux le contenu du fichier dans une variable tu peux aussi faire :
linuxlite ~ cat file.txt|xargs echo
3
linuxlite ~ va=$(cat file.txt) && echo $va
3
Ta commande en elle même renvoie déjà un résultat, xargs n'apporte rien sauf si tu rajoutes autre chose
je suis en bash
linuxlite ~ cat file.txt | sort | uniq -c | sort | tail -n 1 | sed 's/ *//' | cut -c 1
1
linuxlite ~ cat file.txt | sort | uniq -c | sort | tail -n 1 | sed 's/ *//' | cut -c 1|xargs echo
1
linuxlite ~ cat file.txt | sort | uniq -c | sort | tail -n 1 | sed 's/ *//' | cut -c 1|echo "hello"
hello
linuxlite ~ 0 0 0 0 0 0 141 0 cat file.txt | sort | uniq -c | sort | tail -n 1 | sed 's/ *//' | cut -c 1|xargs echo "hello"
hello 1
je suis en bash
Effectivement, ça fonctionne dans le cas simple que je donne en exemple, c'est-à-dire en faisant :
mais par contre si je fais un traitement à partir d'un fichier, par exemple si je souhaite récupérer le chiffre à partir d'un enchaînement de cat, sort, uniq, sed, cut, comme ceci:
je n'arrive pas à réuiliser le chiffre en sortie, avec : ça ne marche pas.
Pourquoi est-ce que ça marcherait dans certains cas et pas dans d'autres?
(Et pour la boucle, ça ne fonctionne vraiment pas chez moi. J'ai peut-être fait une erreur dans sa syntaxe.)