Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/06/2016, à 01:53

progcamb

Enchassement de commandes

Bonjour,

J'ai beau chercher sur le web, je ne trouve pas la solution.C'est sans doute du à la formulation de ma recherche.
Alors peut-être pourriez-vous m'aider.

Je cherche à enchâsser des commandes. Je vous donne un exemple:
Soit 'listeMP3' ma liste de morceaux, soit 'n°-monSon-album-date.mp3' le morceau que je veux écouter.
Je voudrais en une commande lire la liste, la filtrer et enfin jouer le morceau. Pas de problème pour les deux premières actions:

cat listeMP3 | grep monSon

le terminal me retourne bien :

n°-monSon-album-date.mp3

Mais comment envoyer ce résultat au player?

cat listeMP3 | grep monSon | mplayer

-> le terminal exécute mplayer sans argument.

Ce qu'il me faudrait c'est des sortes parenthèses où s’exécuterait d'abord ce qui se trouve à l'intérieur.
Qui me permettrait de faire un truc du genre :

mplayer ( cat listeMP3 | grep monSon )

Quelle est la bonne syntaxe ? Y a-t-il une autre façon de procéder ?

Hors ligne

#2 Le 11/06/2016, à 02:15

MicP

Re : Enchassement de commandes

mplayer $( cat listeMP3 | grep monSon )

Hors ligne

#3 Le 11/06/2016, à 02:26

progcamb

Re : Enchassement de commandes

Hé oui. C'était furieusement simple...
Merci MicP

MicP a écrit :
mplayer $( cat listeMP3 | grep monSon )

Hors ligne

#4 Le 11/06/2016, à 03:15

MicP

Re : Enchassement de commandes

Ce qui est sympa, c'est que, même sans la connaître, tu avais pratiquement trouvé tout seul la bonne syntaxe.

Dernière modification par MicP (Le 11/06/2016, à 03:51)

Hors ligne

#5 Le 14/06/2016, à 20:58

MicP

Re : Enchassement de commandes

Tu devrais pouvoir faire la même chose avec cette ligne de commandes :

grep -F monSon listeMP3 | mplayer -

Dernière modification par MicP (Le 14/06/2016, à 20:59)

Hors ligne