Est-il possible d'utiliser STDIN dans une fonction bash?Variables de ligne de commande dans le pipeline
par exemple.
# echo "somevar = (100)" >> test.txt
# grep -Eo "\([[:digit:]]+\)$" test.txt
(100)
Alors, c'est bon, j'ai mon numéro, ensuite je veux enlever les crochets. Ce que je faisais était:
string=`grep -Eo "\([[:digit:]]+\)$" test.txt`; echo ${string:1:-1}
100
Donc, mon problème a été résolu, mais ce que je passé beaucoup de temps à faire était:
grep -Eo "\([[:digit:]]+\)$" test.txt | echo ${$1:1:-1}
grep -Eo "\([[:digit:]]+\)$" test.txt | ${$1:1:-1}
grep -Eo "\([[:digit:]]+\)$" test.txt | xargs echo ${:1:-1}
grep -Eo "\([[:digit:]]+\)$" test.txt | xargs -I 's' echo ${s:1:-1}
etc, etc ... dont aucun travail.
Donc, en supposant que ce soit possible, comment utiliser la valeur piped dans la commande bash?
On ne sait pas exactement ce que vous voulez faire de la syntaxe que vous écrivez. –
... cela dit, pour une discussion générale de la lecture d'un flux d'entrée pour une utilisation native par shell, voir [BashFAQ # 1] (http://mywiki.wooledge.org/BashFAQ/001) - et [BashFAQ # 24 ] (http://mywiki.wooledge.org/BashFAQ/024) pour la discussion d'une mise en garde commune. –
Je veux savoir si je pourrais obtenir la même chose que l'exemple de travail en utilisant un tuyau plutôt que de le stocker dans une variable. Bien que vos liens vers le BashFAQ semblent répondre à ma question. – Martin