Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
nombre réponses : 25

#0 Re : -1 »  Clavier Azerty dès le boot ?? » Le 17/02/2012, à 17:00

jimmy64
Réponses : 5

Merci wink j'avais déjà trouver cette commande et effectivement elle marche.
Pour la distro c'est une backtrack 4 car je suis admin réseau.

En fait, j'aurai préféré modifier carrément un fichier sur la clé pour rendre la manip définitive... Un fichier du genre du xorg.conf à l'époque.
Enfin, je prendrai ce qu'il y a bien spur et j'ai djéà une solution donc merci !

#1 -1 »  script de génération de playlists » Le 03/12/2009, à 22:09

jimmy64
Réponses : 22

Bonjour à tous,


Je suis débutant en scripting et j'avoue que je galère à fond....
J'essaye de faire un script qui me génère des playlists particulières....

Ma musique se trouve dans /volume1/music/

J'aimerais créer un script qui génère une playlist pour chaque dossier (= artistes) dans le dossier music...

---- Exemple ---

Je veux créer les playlists de mon dossier Variétés.
Le script va dans /volume1/music/Varietes/ et à cette racine, crée autant de fichier .m3u qu'il y a d'artistes... exemple :

ls /volume1/music/Varietes/

Alain Souchon.m3u
Nirvana.m3u
ect....

Pouvez vous m'aider svp ?

#2 Re : -1 »  script de génération de playlists » Le 03/12/2009, à 22:47

jimmy64
Réponses : 22

lool merci !!!

je vais analyser son script, ca a l'air costaud.... !

#3 Re : -1 »  script de génération de playlists » Le 04/12/2009, à 00:43

jimmy64
Réponses : 22

alors le script du lien est assez compliqué et j'ai donc pensé faire plus simple, le but étant aussi d'apprendre et m'exercer big_smile

Seul soucis dans mon script : le script gère très mal les espaces dans les noms de fichiers et je ne sais pas comment résoudre ça....

#!/bin/bash

music="/home/$USER/Musique/"
playlist="/home/$USER/playlists/"

cd $music

for artiste in `ls`
do
	playlist_courant="$playlist$artiste.m3u"
	artiste_courant="$music$artiste/"
	echo > $playlist_courant
	
	for fichier in `find $artiste_courant -name "*.mp3"`
	do
		echo "$fichier" >> $playlist_courant
	done
done

#4 Re : -1 »  script de génération de playlists » Le 04/12/2009, à 01:15

jimmy64
Réponses : 22

J'ai résolu le problème avec la modification de la var IFS... mais j'aurais aimé trouvé d'autres moyens comme l'utilisation des " " mais cela ne marche pas...

je laisse ce thread ouvert pour toute suggestion smile

#5 Re : -1 »  script de génération de playlists » Le 05/12/2009, à 18:46

jimmy64
Réponses : 22

@AnsuzPeorth :

oui j'ai lu le post jusqu'au bout mais je souhaitais quand meme apprendre à faire un script moi même smile

je me suis dit qu'ensuite j'essayerais des "one line" comme ta solution mais j'avoue ne pas l'avoir comprise....

find "$DOSSIER" -type f -printf "\"%p\"@\"%h\"" | egrep "(\.mp3|\.ogg|\.wma)" | awk -F@ '{fichier=$1 ; chemin=$2} {string=sprintf("echo %s >> %s/00-$(basename %s).m3u", fichier, chemin, chemin)}{system(string)}'

si tu es partant, puis je te contacter en MP ou ici pour avoir des explications stp ?
ce qui me rend fou c'est que je sais programmé en Java mais je suis incapable de comprendre les caractères spéciaux de tes commndes !!!!

#6 Re : -1 »  script de génération de playlists » Le 11/12/2009, à 19:09

jimmy64
Réponses : 22

merciiiii, j'avais déj analyser ton post mais pas encore testé les commandes !!

aut fait tu sais programmé en Ash ?? Je dois adapter mes scripts en ash au lieu de bash et je trouve aucune doc sur le net sad

#7 Re : -1 »  script de génération de playlists » Le 13/12/2009, à 05:53

jimmy64
Réponses : 22

nop, c'est pour mon Nas (Synology D409+) qui tourne sous une busybox et j'avoue que c'est déroutant quand on passe des possibilités d'une distrib comme Ubuntu à cet environnement la !

et le script que j'ai effectué ne marche pas bien du tout sur Ash... je pense que c'est à cause des espaces dans les noms... je vais donc tester les commandes de AnsuzPeorth qui ont plus de chances de marcher mais je n'ai pas encore eu le temps...

@AnsuzPeorth : on peut rester en contact stp ? tes commandes c'est de l'or en barres big_smile big_smile big_smile

#8 Re : -1 »  script de génération de playlists » Le 17/12/2009, à 02:17

jimmy64
Réponses : 22

bon j'ai encore passé la soirée à essayer de faire marcher mon script mais je crois que j'ai définitivement un problème pour gérer les espaces dans les noms. J'ai vraiment du mal je pense à bien placer les guillemets...

==> Pouvez-vous m'aider à corriger le problème des "" ? Je pense qu'ainsi je pigerais mes erreurs et je pourrais enfin comprendre la oneLine d'AnsuzPeorth !!

#!/bin/sh

music="../Dancehall/_Artistes/"
playlistsRep="/volume1/music/playlists/"

cd "$playlistsRep"

for artiste in `"ls "$music""`
do
	playlist_courant="Dancehall > "$artiste".m3u"
	artiste_courant=""$music""$artiste"/"
	touch "$playlist_courant"
	
	for fichier in `"find "$artiste_courant" -name "*.mp3""`
	do
		echo "$fichier" >> "$playlist_courant"
	done
done

#9 Re : -1 »  script de génération de playlists » Le 21/12/2009, à 00:03

jimmy64
Réponses : 22

up help s'il vous plait... je dois finir ce script avant mardi matin sad sad sad

#10 Re : -1 »  script de génération de playlists » Le 21/12/2009, à 01:11

jimmy64
Réponses : 22

Merci bcp pour vos réponses smile

Hizoka, j'adore tes conseils, c'est exactement ce qu'il me manqué pour structurer correctement le code !! Quand j'ai relis mon script, je me suis fait peur en comprenant enfin les guillemets -> j'avais fait pas mal de boulettes big_smile

Par contre, j'ai tjr une erreur en sortie, avec les espaces (j'ai repris le script modifié de Hizoka) :

Pour un dossier s'appelant "album 2006" j'ai eu ça :

find: ../Dancehall/_Artistes/album/: No such file or directory
find: ../Dancehall/_Artistes/2006/: No such file or directory

Grrr je vois pas l'erreur pourtant

#11 Re : -1 »  script de génération de playlists » Le 21/12/2009, à 22:38

jimmy64
Réponses : 22

Merci encore Hizoka smile Petite précision, j'utilise une Busybox et que ce soit avec la boucle while corrigée ou avec le for, cela ne fonctionne toujours pas...

la boucle while était incorrect c'était plutot :

done < "$(find "${artiste_courant}" -name "*.mp3")"

Mais cela ne fonctionne pas... j'ai remarqué que les fichier .m3u créé (donc $playlist_courant) bug aussi avec les espaces dans les noms donc dès le début il y a un souci avec le script... sad sad sad

Quelques indices : les fichiers m3u créés sont vides, le terminal m'affiche chaque fichier mp3 trouvé avec pas mal de "can't open directory" ou "no such file"

erf je m'en sors pas je dois dire... et toucher à l'IFS ne m'enchante pas vraiment...

#12 Re : -1 »  script de génération de playlists » Le 22/03/2010, à 01:28

jimmy64
Réponses : 22

oups je vois que ca fait un long moment que j'étais pas revenu sur le sujet... j'avais un peu laché l'affaire... mais je suis de retour !!

Le problème dans ma version du script, c'est les espaces noms dans la boucle for.
Je pense qu'il existe un moyen pour la faire fonctionner sans toucher à l'IFS mais lequel?

Sinon j'utiliserais une boucle read mais je ne la métrise pas.
Voici un exemple du problème essentiel :

#!/bin/sh

music="../Dancehall/_Artistes/"
playlistsRep="/volume1/music/playlists/"

cd "${playlistsRep}"

for artiste in $(ls "${music}")
do
	echo "${artiste}"
done

Pour un dossier "Album 2006" dans le dossier "music" ce script m'affiche :

Album
2006

==> Mon but c'est pour chaque artiste, créer un fichier unique artiste.m3u qui contiendra sa discographie complète wink

#13 Re : -1 »  SAN + XFS + Debian » Le 12/02/2010, à 11:31

jimmy64
Réponses : 1

bonjour smile

alors je suis désolé je ne peux pas t'aider pour ton problème, en revanche toi, tu pourrais m'éclairer si tu le souhaites. J'ai un probleme avec ce driver sur debian, causant un Kernel Oups de façon aléatoire.

Quel version du driver utilises tu ? Idem niveau SAN ? As tu eu des plantages ?

Merciiii, j'attends ta réponse avec impatience !

#14 Re : -1 »  supprimer des fichiers avec la commande Find... » Le 28/11/2009, à 02:31

jimmy64
Réponses : 17

euh.... je reviens sur le sujet car cela ne marche pas sur ma distib...

c'est une busy box et l'option -delete de find n'existe pas... il va donc falloir que je traite les espaces des répertoires différemment....

#15 Re : -1 »  supprimer des fichiers avec la commande Find... » Le 03/12/2009, à 21:29

jimmy64
Réponses : 17

euh la différence se situe au niveau des "{}" ???

j'ai réussi à supprimer toutes les playlists autrement, en graphique à vrai dire mais ca m'intéresserait de savoir supprimer n'importe quel genre de fichier pour faire un script de nettoyage smile

#16 Re : -1 »  supprimer des fichiers avec la commande Find... » Le 05/12/2009, à 18:49

jimmy64
Réponses : 17

ok faudrais que je re test ta commande avec les guillemets... en tout cas, sans les guillemets, la commande bug avec les espaces dans les noms de dossiers....

#17 Re : -1 »  supprimer des fichiers avec la commande Find... » Le 21/12/2009, à 00:10

jimmy64
Réponses : 17

Ben justement, je ne sais absolument pas gérer les guillemets !! J'y ai passé des soirées entières, j'enrage !!!!! Pourriez vous m'aider sur ce script svp ? J'ai vraiment besoin d'aide et ce, avant mardi midi :S je suis mal...

#!/bin/sh

music="../Dancehall/_Artistes/"
playlistsRep="/volume1/music/playlists/"

cd "$playlistsRep"

for artiste in `"ls "$music""`
do
    playlist_courant="Dancehall > "$artiste".m3u"
    artiste_courant=""$music""$artiste"/"
    touch "$playlist_courant"
    
    for fichier in `"find "$artiste_courant" -name "*.mp3""`
    do
        echo "$fichier" >> "$playlist_courant"
    done
done

Il a du mal avec les espaces des noms et je pense qu'en m'aidant à le corriger je comprendrais enfin comme il faut faire pour gérer les espaces big_smile HELP !!!!!

#18 Re : -1 »  supprimer des fichiers avec la commande Find... » Le 21/12/2009, à 01:13

jimmy64
Réponses : 17

Merciiiiiiiiii Hizoka, en tout cas tu as raison c'est hors contexte big_smile j'étais despéré et donc j'ai tenté avec ceux qui m'avait aidé ici (j'ai vu que tu avais aussi répondu ailleurs, merci !!)

Mais bon, le script modifié de Hizoka renvoi une erreur sur la commande FIND

find: ../Dancehall/_Artistes/album/: No such file or directory
find: ../Dancehall/_Artistes/2006/: No such file or directory

#19 Re : -1 »  supprimer des fichiers avec la commande Find... » Le 21/12/2009, à 21:57

jimmy64
Réponses : 17

Apparament il serait préférable de remplacer la boucle for avec le Find, par une boucle while, d'après Hizoka...

Un post, pour ceux que ca interesse est ouvert ici : http://forum.ubuntu-fr.org/viewtopic.php?pid=3114812#p3114812

#20 -1 »  commande rsync étrange... » Le 03/12/2009, à 22:02

jimmy64
Réponses : 5

Ola !!

Bon voila j'utilise la commande Rsync -a pour mes sauvegardes et après avoir lu une dizaine de fois la page man, je ne comprend toujours pas pourquoi :

Quand le fichier de destination est différent du fichier source, Rsync recopie intégralement le fichier original en écrasant celui de destination. ==> Pourquoi ne se contente-il pas de simplement de "mettre à jour" le fichier de destination - comme la fonction reprendre de Supercopieur - ??

J'effectue de grosse sauvegarde et le débit est trés lent donc plutot que de recopier des fichiers de plusieurs Go, je préfère qu'il ne modifie que quelques octets....

#22 Re : -1 »  commande rsync étrange... » Le 17/12/2009, à 01:33

jimmy64
Réponses : 5

merci pour ta réponse smile

j'ai déja tester en long et large la commande Rsync en prenant soin d'étudier le man...

en fait ce que je ne comprends pas c'est pourquoi Rsync recopie intégralement un fichier qui a été modifié au lieu de simplement l'updaté, modifier les octets différents... voila smile

par exemple pour ton home : Rsync recopie intégralement ton home à chaque fois nan ? big_smile

#23 Re : -1 »  commande rsync étrange... » Le 21/12/2009, à 00:08

jimmy64
Réponses : 5

merci roger smile

en fait justement je cherche avec Rsync à éviter la recopie totale de tous les fichiers car effectivement j'en ai des centaines de milliers... 800 Go à transferer pour être plus précis. Et je souhaiterais que Rsync ou un autre "resume" les fichiers ou par exemple si il n'y a que les droits qui ont changés alors qu'il ne modifie que les droits sur le fichier de destination. Bref qu'il effectue le moins de transfert possible !!!

sinon Roger64 si tu callais en script tu pourrais m'aider stp sur ce post : http://forum.ubuntu-fr.org/viewtopic.php?pid=3114812#p3114812

j'ai un problème avec l'espace des noms je m'en sors pas. le script est à la fin du sujet smile

Mercii d'avance big_smile

#24 -1 »  Badblocks sur disque distant... » Le 26/11/2009, à 15:58

jimmy64
Réponses : 0

Bonjour !!!

Je viens de résoudre un de mes problèmes mais j'en ai maintenant un autre !
J'ai un NAS sur mon réseau local, qui tourne sous une distrib linux spéciale qui ne possède pas de commande "badblocks"

Le problème c'est que j'ai 3 disques en RAID5 et celui du dessus me fait douter... j'ai l'impression qu'il bloque un peu...

Donc j'aimerai monter ce disque distant sous Ubuntu et pouvoir faire un badblocks dessus.... Cela m'éviterais d'ouvrir le NAS, de démonter le disque dur, de l'intégrer à mon pc, ect...

Merci pour votre aide smile