Posts Tagged "shell"

Récupérer les paroles d’une musique (.mp3, .m4a) et l’enregistrer sous Linux

Récupérer les paroles d’une musique (.mp3, .m4a) et l’enregistrer sous Linux

Bonjour à tous, aujourd’hui nous allons voir un petit script bash bien sympathique qui permet de récupérer tous les fichiers musicaux (.mp3, .m4a ou d’autres – il suffit de les ajouter dans le script-) et d’y ajouter les paroles des chansons. Tout d’abord, nous devons nous assuré de disposer de wget et eyed3 Si vous êtes sur une distribution basé sur debian (ubuntu, elementary os, linux mint, etc …) sudo apt-get install wget eyed3 Si vous êtes sur une distribution basé sur centOS / fedora : yum install python-eyed3 wget   Qu’est-ce que eyed3 ? eyed3 est un petit programme python qui permet de jouer les méta-data ID3 . Elle sont surtout utilisé avec les fichiers .mp3, elle peuvent contenir le nom de l’artiste, de l’album, de la musique et aussi les paroles ! L’idée va être d’extraire de ces méta-datas le nom de l’artiste ainsi que le nom de la chanson pour récupérer les paroles et les stockés dans ces méta-data. Voici un petit script shell qui permet de faire cela automatiquement. Placer-le dans un répertoire (par exemple /home/user/musique) et il se chargera de scruter toutes les musiques des répertoires et sous répertoire pour y mettre à jour les méta-data.   Shell #!/bin/bash _TPL='http://makeitpersonal.co/lyrics?artist=<artist>&title=<title>' _SRY="Desole, il n'y a pas encore de parole pour cette chanson." [ "$1" ] && _PATH="$1" || _PATH=$PWD cd $_PATH for _FILE in {*.mp3,*.m4a}; do if [[ -r $_FILE ]]; then _SONG=$(eyeD3 --no-color "$_FILE" | grep title) _ARTIST="${_SONG#*"artist: "}" _TITLE="${_SONG%"artist: "*}" _TITLE="${_TITLE#"title: "}" echo -n "$_ARTIST - $_TITLE" _ARTIST="${_ARTIST// /+}" _TITLE="${_TITLE// /+}" _URL="${_TPL//"<artist>"/$_ARTIST}" _URL="${_URL//"<title>"/$_TITLE}" _LYRICS=$(wget -qO- $_URL) if [ "$_LYRICS" != "$_SRY" ]; then eyeD3 --lyrics=eng:Lyrics:"$_LYRICS" "$_FILE" 1>/dev/null else echo "pas de paroles trouvé... next!" fi fi done cd $OLDPWD 1234567891011121314151617181920212223242526272829303132333435 #!/bin/bash _TPL='http://makeitpersonal.co/lyrics?artist=<artist>&title=<title>'_SRY="Desole, il n'y a pas encore de parole pour cette chanson." [ "$1" ] && _PATH="$1" || _PATH=$PWD cd $_PATH for _FILE in {*.mp3,*.m4a}; do    if [[ -r $_FILE ]]; then        _SONG=$(eyeD3 --no-color "$_FILE" | grep title)         _ARTIST="${_SONG#*"artist: "}"        _TITLE="${_SONG%"artist: "*}"        _TITLE="${_TITLE#"title: "}"         echo -n "$_ARTIST - $_TITLE"         _ARTIST="${_ARTIST// /+}"        _TITLE="${_TITLE// /+}"        _URL="${_TPL//"<artist>"/$_ARTIST}"        _URL="${_URL//"<title>"/$_TITLE}"         _LYRICS=$(wget -qO- $_URL)         if [ "$_LYRICS" != "$_SRY" ]; then            eyeD3 --lyrics=eng:Lyrics:"$_LYRICS" "$_FILE" 1>/dev/null        else            echo "pas de paroles trouvé... next!"        fi    fidone cd $OLDPWD Merci à Cyprian Guerra pour le...

Read More

Empêcher un fichier d’être modifié ou supprimé

Empêcher un fichier d’être modifié ou supprimé

Il est possible d’empêcher n’importe quel fichier d’être modifié, supprimé ou même renommé, et ce, par par n’importe quel utilisateur, root y compris. Comment faire ? Pour faire cela il faut utiliser la commande : chattr qui modifie les attributs d’un fichier. L’option qui nous intéresse est l’option « i » : « +i » pour activer la protection et « -i » pour désactiver cette protection . Le « i » signifie immuable (ou immutable en anglais) qui veux dire « ne peuvent pas être modifiés ». chattr peut aussi protéger des répertoires entiers. chattr doit être utilisé avec les privilèges root. Protéger un fichier : sudo chattr +i <fichier ou repertoire> Retirer la protection d’un fichier protéger sudo chattr -i <fichier ou repertoire> Si vous appliquez ces commandes sur un répertoire, vous pouvez utilisez l’option « -R » pour exécutez la commande récursivement. Exemples : créons un fichier quelconque : echo "Ceci est un fichier tres important." >important.txt avec les droits root, utiliser chattr : sudo chattr +i important.txt Est-ce que l’utilisateur root peut modifier le fichier ? Est-ce que je peux renommé le fichier avec les droits super utilisateurs ? Est-ce que je peux le supprimé ? Si vous voulez pouvoir effectuer l’une de ces actions il faudra donc enlever la protection du fichier avec l’attribut « -i » comme nous l’avons-vu précédemment : sudo chattr -i important.txt   traduction de l’article suivant :...

Read More