Aelkaim Posté(e) le 24 février 2011 Partager Posté(e) le 24 février 2011 Bonjour, Nouveau venu dans ce monde de ligne de commande, j'ai r 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
iPeP Posté(e) le 24 février 2011 Partager Posté(e) le 24 février 2011 Bonjour, Tes fichiers seront index 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
cricx Posté(e) le 24 février 2011 Partager Posté(e) le 24 février 2011 Bonjour, Nouveau venu dans ce monde de ligne de commande, j'ai réussi en luttant pas mal à installer et paramétrer castget pour qu'il récupère mes podcasts et les ajoutent dans le dossier "music". L'utilisation par la suite devait se faire à travers le serveur itunes. Problème: les fichiers apportés par castget ne sont pas automatiquement indexés. Ni une ni deux, je trouve un tuto intéressant (synoindex) dévrivant la marche à suivre pour ajouter à l'index les fichiers les plus récents. Et cela marche ! Voici mon script: @include_files = ("MP3"); my $SYNO_ERROR_MSG = "Failed to get MediaInfo."; my $scan_dir = shift; if (!$scan_dir) { $scan_dir="/volume1/music"; } my @files = `find $scan_dir -type f -mtime -2`; my $files_indexed = 0; foreach (@files) { my $file = $_; chomp($file); my $ext = ($file =~ m/([^.]+)$/)[0]; if (grep {lc $_ eq lc $ext} @include_files) { my $result = `synoindex -g \"$file\" -t music`; chomp($result); if ($result =~ m/^$SYNO_ERROR_MSG/i) { my @synorc = `synoindex -a \"$file\"`; ++$files_indexed; } }} Donc c'est plutot cool. Problème: quand j'exécute le script, le terminal m'indique en 10 exemplaires environ: HINT: Use the escape string syntax for backslashes, e.g., E'\\'. WARNING: nonstandard use of \\ in a string literal LINE 1: ... * FROM music WHERE fs_online = 't' AND path like '/volume1/... Comme si j'avais fait quelque chose de pas très propre. Des idées pour lisser cela ? D'avance merci ! Alexandre déjà, mixer perl et bash c'est pas le mieux. Par exemple pour le find, il vaut mieux utiliser le module file:find de perl (http://world.std.com/~swmcd/steven/perl/pm/find.html pour des exemples), mais je ne sais pas si ce module est installé sur syno. éviter l'usage de grep qui renvoie normalement un tableau des éléments remplissant la condition, tu ne fais que vérifier si c'est vrai, donc ce n'est pas la fonction adaptée (en fait, c'est une solution facile, mais il faudrait alors prendre le nombre d'éléments du tableau renvoyé, ou en faire un scalar. ensuite, le code n'est pas parfait, tu peux retravailler un peu. ex : foreach (@files) { my $file = $_; chomp($file); s'écrit mieux foreach my $file (@files) { chomp($file); ou foreach (@files) { chomp; my $file = $_; Mais le message d'erreur est vraisemblablement donné par synoindex, que tu appelles ainsi : my $result = `synoindex -g \"$file\" -t music`; essaye comme ça : my $result = qx(synoindex -g "$file" -t music); man perlop pour les détails. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Aelkaim Posté(e) le 25 février 2011 Auteur Partager Posté(e) le 25 février 2011 d 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
cricx Posté(e) le 25 février 2011 Partager Posté(e) le 25 février 2011 Le code a 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Aelkaim Posté(e) le 25 février 2011 Auteur Partager Posté(e) le 25 février 2011 moi aussi regarde un peu le r 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
cricx Posté(e) le 25 février 2011 Partager Posté(e) le 25 février 2011 Non non, il est toujours grognon. Mais au fait, le message d'erreur veut juste dire qu'il y a une faute d'orthographe mais qu'il arrive quand meme 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Aelkaim Posté(e) le 25 février 2011 Auteur Partager Posté(e) le 25 février 2011 J'ai bien pris note... Mais j'ai un nouveau soucis. Je ne sais pas du tout si c'est li 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.