Se connecter / S'enregistrer
Votre question

[Linux Ubuntu] [Résolu] probleme création script bash

Tags :
  • Ubuntu
  • Système d'exploitation
Dernière réponse : dans Systèmes d'exploitation
27 Avril 2011 06:19:16

Bonjour ou bonsoir a tous, je viens de passer 9 heures consécutives à la réalisation d'un script bash qui me permet de télécharger une video youtube en utilisant le liens enregistrer dans le presse papier, cette vidéo est ensuite réencoder en mp3 puis renommer afin de retirer les lettres de l'url de la video et ensuite placé dans un dossier music. Jusque là tout allez bien et puis la fatigue m'a sans doute fait faire des bétises que je suis incapable de dicerner. Voici pourquoi je viens poster ici mon code intégrale (100 lignes environ) afin que vous puissiez me dire où çà coince.

  1. #!/bin/bash
  2. #
  3. #Modifiez votre chemin d'accés à ycatch.sh çi dessous
  4. directory="/home/sebastien/YoutubeDL"
  5. #
  6. #Modifiez le nom du dossier qui contiendra les musiques téléchargées
  7. music="Music"
  8. #
  9. #Modifiez le chemin de creation du dossier music çi dessous
  10. directoryMusic="/home/sebastien/YoutubeDL/"
  11. #
  12. #Ne pas modifier
  13. musicpath="$directoryMusic/$music"
  14. file1="$directory/videos.txt"
  15. file2="$directory/ycatch.txt"
  16. file3="$directory/urlrename.txt"
  17.  
  18. #
  19. #Creation du dossier contenant les musiques
  20. if [ -d $musicpath ]; then
  21. echo "le dossier music est présent"
  22. else
  23. mkdir Music
  24. echo "Le dossier music vient d'être créer"
  25. fi
  26. #
  27. #Création du fichier pour télécharger les musiques
  28. if [ -e $file1 ]; then
  29. echo "fichier videos.txt présent - Veuillez le supprimer en cas de problemes"
  30. else
  31. touch videos.txt
  32. echo "fichier videos.txt généré"
  33. fi
  34. #
  35. #Création du fichier pour capter le clipboard
  36. if [ -e $file2 ]; then
  37. echo "fichier ycatch.txt présent - Veuillez le supprimer en cas de problemes"
  38. else
  39. touch ycatch.txt
  40. echo "fichier ycatch.txt généré"
  41. fi
  42. #
  43. #Création du fichier pour capter l'url afin de renommer correctement
  44. if [ -e $file3 ]; then
  45. echo "fichier urlrename.txt présent - Veuillez le supprimer en cas de problemes"
  46. else
  47. touch urlrename.txt
  48. echo "fichier urlrename.txt généré"
  49. fi
  50. #
  51. #Copie du clipboard vers ycatch.txt
  52. xclip -out -selection clipboard >> $file2
  53.  
  54. #
  55. #Vérification des données récupérées
  56. if [ -s $file2 ]; then
  57. echo "ycatch contient des données et vont être transférées dans videos.txt si elles sont valides"
  58. less ycatch.txt | grep -o "<a href="http://www.youtube.com/watch?v=" rel="nofollow" target="_blank">http://www.youtube.com/watch?v=</a>.*" | sort -u >> videos.txt
  59. cut -c 32- ycatch.txt >> urlrename.txt
  60. while read inputline
  61. do
  62. url="$(echo $inputline)"
  63. done < urlrename.txt
  64. if [ -s $file1 ]; then
  65. echo "données valide, début de la phase de téléchargement"
  66. # DL les video youtube du .txt
  67. #
  68. while read inputline
  69. do
  70. youtube_url="$(echo $inputline)"
  71. youtube-dl -t $youtube_url
  72. done < videos.txt
  73. rm -f videos.txt
  74. rm -f ycatch.txt
  75. rm -f urlrename.txt
  76.  
  77. # Script pour Flv vers mp3.
  78. if [ -e *.flv ]; then
  79. echo "Fichier .flv détecté"
  80. for i in *.flv;
  81. do
  82. f=$i
  83. file=${f%$url.*}.mp3
  84. #
  85. #Vous pouvez modifier à vos risques et périls
  86. #les donnés suivantes :
  87. #ar est la valeur de la fréquence d'échantillonnage audio
  88. #ab est la valeur du bitrate en bit/s
  89. #ac est le nombre de canaux audio
  90. ffmpeg -i $i -f mp3 -ar 44100 -ab 128000 -ac 2
  91. $file
  92. rm $i
  93. mv -f $file Music
  94. done
  95. # Script pour mp4 vers mp3.
  96. #
  97. elif [ -e *.mp4 }; then
  98. echo "fichier mp4 détecté"
  99. for f in *.mp4; do
  100. newname=`echo $f | tr ' ' '_' `
  101. mv "$f" $newname
  102. f=$newname
  103. mplayer $f -ao pcm:file=tmp.wav
  104. lame -b 128 -q 2 tmp.wav ${f%.*}.mp3
  105. rm -f tmp.wav
  106. rm -f $f
  107. done
  108. else
  109. echo "aucun fichier téléchargé"
  110. fi
  111. else
  112. echo "Veuillez copier une URL valide"
  113. rm -f videos.txt
  114. rm -f ycatch.txt
  115. rm -f urlrename.txt
  116. fi
  117. else
  118. echo "ycatch ne contient aucune données"
  119. fi


la convertion des .flv en mp3 fonctionne mais pas le mp4 il télécharge mais me renvoie après aucun fichier téléchargé.

Je sais que c'est un assez gros pavé mais j'espère que quelqu'un saura m'aider.
P.S: je suis sur linux depuis 2 jours alors c'est vraiment fait à l'arrache.

P.S² : résolu j'avais oublié de mettre un crochet elif [ -e *.mp4 }; then

Autres pages sur : linux ubuntu resolu probleme creation script bash

27 Avril 2011 15:49:30

excuse moi mais si j'avais cherché un truc tout fait je l'aurais fait, la je cherche a le faire moi même si tu ne sais pas m'aider tantpis
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS