Le problème: j'ai par exemple 16 pistes dans un dossier mais je veux seulement jouer 1 - 7. Comment faire cela dans MPlayer? Le suivant:
mplayer 1.mp3 - 7.mp3
n'est pas la bonne façon. Est-il même possible dans MPlayer sans écrire chaque nom de fichier?
Pour autant que je sache, ce n'est pas possible depuis MPlayer lui-même, mais un peu de magie en ligne de commande peut produire d'excellents résultats.
Ce qui suit est peut-être un peu maladroit mais fonctionne assez bien ici avec la convention de dénomination que vous avez spécifiée:
mplayer $(find . -maxdepth 1 -name "[1-7].mp3" | ls -v)
Brève explication:
find . -maxdepth 1
: Recherchez dans le répertoire courant sans récursivité.-name "[1-7].mp3"
: Recherchez des fichiers MP3 dont le nom de fichier ne contient que les chiffres 1 à 7. La section [1-7]
Illustre l'expression de la plage Bash où les nombres 1 et 7 sont mis en correspondance ainsi que tous les nombres entre.ls -v
: Triez la recherche pour que la lecture soit basée sur des chiffres.Il existe sans aucun doute d'autres moyens, mais cela fonctionne assez bien et si vos noms de fichiers réels sont différents, il s'agirait simplement de modifier l'expression régulière dans la syntaxe find
pour qu'elle corresponde ...
Dans ce cas, le seul autre outil dont vous avez besoin est votre ligne de commande Shell.
mplayer [1-7].mp3
Cet exemple utilise Shell globbing (aka expansion de nom de chemin ) pour sélectionner les fichiers vous voulez jouer. Cependant, si vous souhaitez lire les pistes 8 à 11, par exemple, cela devrait ressembler davantage à ceci:
mplayer [89].mp3 1[01].mp3
Pour plus d'informations, voir 2.13. Pattern Matching Notation dans la spécification Posix, en particulier la sous-section 2.13.3 Patterns utilisés pour l'extension du nom de fichier .
Consultez également la section Expansion du nom de chemin de votre page de manuel Shell ($ man sh
) et la section qui suit à propos de Correspondance de modèle de shell .