Voici la deuxième fournée de notre vieille veille de CommandLineFu ! La première est ici.

1 Transformer une vidéo youtube en mp3

$ youtube-dl -t --extract-audio --audio-format mp3 YOUTUBE_URL_HERE

Pour l'installer: pip install youtube_dl (et un pip search youtube vous montrera d'autres projets: mps-youtube, etc).

une technique parmi d'autres !

2 Télécharger une vidéo de youtube, arte, bbc, dailymotion, franceCulture, vimeo, etc

youtube-dl ne se limite pas à youtube ! Voir la liste des sites pris en charge, plus de 150 (arte.tv, bandcamp, bbc.co.uk, canalplus, dailymotion, dropbox, facebook, flicker, france [Intel, Culture, TV], groovshark, metacafe, soundcloud, vimeo, etc).

Voir la doc: https://rg3.github.io/youtube-dl/documentation.html

3 Pareil, avec cclive

Il y a aussi cclive (apt-get install cclive), qui existe depuis plus longtemps, et qui se base sur quvi pour passer outre les contenus flash.

Voir la liste des sites supportés:

cclive --support

Télécharger de la meilleure qualité:

cclive -s best URL

Mettre en arrière plan:

cclive -b

Continuer un téléchargement interrompu:

cclive -c

Exécuter une commande après un téléchargement réussi:

cclive --exec ARG

avec les variables %f, %n et %t pour le chemin du média, son nom et son titre respectivement. Télécharger une liste d'urls contenue dans un fichier:

cat liste.txt | cclive

Bref, man cclive.

4 Télécharger une liste d'urls

$ cat urls.txt | wget -i- -T 10 -t 3 --waitretry 1

et on peut remplacer wget par youtube-dl ;)

5 Sauvegarder la lecture mplayer dans un fichier

$ mplayer -nolirc <Streaming_URL> -dumpstream -dumpfile output.mp3

6 Télécharger tous les mp3 d'une page html

$ wget -r -l1 -H -t1 -nd -N -np -A.mp3 -erobots=off [url of website]

7 Limiter l'usage CPU d'un processus

$ sudo cpulimit -p pid -l 50

8 Sauvegarder des pages de man en pdf

$ man -t awk | ps2pdf - awk.pdf

9 Vérificateur d'orthographe

$ aspell -a <<< '<WORDS>'

10 Une alarme douce en crescendo

$ at 8:30 <<<'mpc volume 20; mpc play; for i in `seq 1 16`; do sleep 2; mpc volume +5; done'

11 Arrêter de perdre du temps sur Facebook

$ sudo sh -c "echo '127.0.0.1 www.facebook.com' >> /etc/hosts"

mais je sais que vous donnez l'exemple et n'êtes plus sur fb ;)

12 Lister les raccourcis de Bash

$ bind -P

13 Sourcer le .bashrc/.zshrc dans tous les terminaux ouverts

$ trap "source ~/.zshrc" USR1

14 Appuyer sur Entrée et prendre une photo webcam

$ read && ffmpeg -y -r 1 -t 3 -f video4linux2 -vframes 1 -s sxga -i /dev/video0 ~/webcam-$(date +%m_%d_%Y_%H_%M).jpeg

15 Vérifier la syntax de tous les scripts bash dans le répertoire courant

$ find . -name '*.sh' -exec bash -n {} \;

cela ne les exécute pas, bien sûr.

16 Trouver les fichiers modifiés depuis une certaine date

$ find /path/to/somewhere -newermt "Jan 1"

17 Vérifier si votre fai intercepte vos requêtes DNS

$ dig +short which.opendns.com txt @208.67.220.220

18 EN_COURS Montrer une commande au hasard de commandlinefu

$ echo -e "`curl -sL http://www.commandlinefu.com/commands/random/json|sed -re 's/.*,"command":"(.*)","summary":"([^"]+).*/\\x1b[1;32m\2\\n\\n\\x1b[1;33m\1\\x1b[0m/g'`\n"

C'est tout pour aujourd'hui !