Tag Archives: Script

Décompresser des archives dans des dossiers multiples sous MacOS

J’avais fait pas mal de billets sur ce blog concernant un script de décompression d’archives multiples en rar sous Linux (le dernier ici). L’idée est de porter la processus sur Mac OS. Premier problème: il n’y a pas de commande rar (ni même unrar) par défaut (même avec UnrarX).

Pour corriger cela, il suffit de se rendre sur le site de rarlab et de télécharger la version MacOS X de rar. Une fois le téléchargement décompressé, il suffit de déplacer les exécutables qui vont bien dans /usr/bin. Pour ce faire:

Pour finir, il suffit d’utiliser le script habituellement utilisé sur Linux et c’est bon … Vous le trouverez par là.

Rediriger les liens mailto: vers Gmail sous Linux

Aujourd’hui, les webmails sont devenus assez performants. A tel point qu’on commence à abandonner les clients mails lourds au profit des webmails. Gmail est un exemple en la matière. Seulement voilà, cet usage peut être « problématique » quand on clique sur une adresse mail (dans une page Web).

En effet, quand le système d’exploitation détecte un lien mailto:, il tente de lancer le client mail par défaut et lui passe les informations du lien en paramètre. L’idéal serait qu’il appelle directement le navigateur internet en lançant la page de Gmail qui va bien. Voilà comment faire sous Ubuntu:
Continue reading

Décompresser des archives dans des dossiers multiples sous Linux (3)

Il y a quelques temps, j’avais du faire un petit script pour de la décompression d’archives multiples sous Linux. Le script est utilisé assez fréquemment. Mais aujourd’hui, l’utilisation commence à devenir un peu plus intensive. Il s’agit de traiter, d’une commande, une plus grosse quantité d’archives. Concrètement, le script peut mettre quelques heures à s’éxecuter.

Par conséquent, il faudrait avoir un rapport à la fin de l’exécution du script. En effet, on ne peut pas lancer un script pendant une nuit entière sans avoir de rapport final. L’idée est donc de reprendre le script précédemment développé et de faire ce qui suit:

  • Rendre rar un peu moins verbeux. C’est l’option -idq qui fait ça. Elle bloque tout les messages sauf les warnings / erreurs.
  • Vérifier que chaque exécution de rar s’est bien passée. Il s’agit d’utiliser if [ $? = 0 ]; qui se traduit par Est-ce que la dernière commande exécutée à retourné 0?.
  • Faire un bilan général de l’exécution. Rien de bien compliqué, on place des compteurs un peu partout. Il faut aussi penser à garder de coté le nom des archives où ça ne s’est pas bien passé.
  • Ne supprimer que les archives dont on est certains qu’elles ont bien été décompressées.

Au final,voilà ce que donne le script:
Continue reading

Connaître son IP publique en ligne de commande

Pour des raisons X ou Y, il est souvent utile de connaître l’IP publique de sa machine. On parle ici de l’IP avec laquelle on sort sur le réseau public (Internet). En effet, on n’a pas toujours la maitrise de son réseau jusqu’à la sortie vers le monde extérieur.

L’idée générale du script est assez simple: on contacte le site WhatIsMyIp.com avec lynx (navigateur en ligne de commande … pensez à vérifier qu’il est installé sur votre machine). L’option -dump permets de récupérer la page sans les balises de formatage sur la sortie standard. Ensuite, on récupère la ligne qui contient Your IP Address Is et on affiche l’IP.

Ce qui donne au final:

Décompresser des archives dans des dossiers multiples sous Linux (2)

Hier, j’exposais mon problème (et sa solution) d’archives en pagaille : « Dans la série des petits problèmes du quotidien qui peuvent prendre des heures ou quelques minutes : en voici un nouveau. Le problème est le suivant : j’ai un dossier qui contient 544 sous-dossiers. Chacun de ces sous dossiers contient un certain nombre d’archives .zip. Ce que je veux est assez simple : obtenir au final mes 544 dossiers avec ce que contenaient les fichiers .zip. Accessoirement, je veux que les fichiers .zip dégagent. »

Aujourd’hui, j’ai exactement le même problème sauf que c’est avec des fichiers .rar qui peuvent eux même contenir des fichiers .rar. Je veux toujours que les fichiers .rar originaux dégagent. Comme je ne connais pas l’option pour choisir le chemin de destination de décompression pour la commande rar (et comme j’avais pas le temps de chercher), j’ai fait autrement. On rentre dans le dossier, on extrait l’archive, on supprime tout ce qui s’appelle nomDeLArchive.r* (car une archive rar peut être sur plusieurs fichiers du genre rO1, r02, …) et on retourne à la racine. Bref, voilà ce que cela donne :

Au final, 1532 fichiers traités en 5 minutes.

Décompresser des archives dans des dossiers multiples sous Linux

Dans la série des petits problèmes du quotidien qui peuvent prendre des heures ou quelques minutes : en voici un nouveau. Le problème est le suivant : j’ai un dossier qui contient 544 sous-dossiers. Chacun de ces sous dossiers contient un certain nombre d’archives .zip. Ce que je veux est assez simple : obtenir au final mes 544 dossiers avec ce que contenaient les fichiers .zip. Accessoirement, je veux que les fichiers .zip dégagent.

Faire ça à la main ? Je dirais (à vue de nez) : 4h de boulot rébarbatif. Non, profitons de la plateforme Linux Unix et de Bash. L’idée est simple : on liste tout les fichiers .zip de l’arborescence (pour ce faire, on utilise find) ensuite, on les dézipe (via unzip) et précisant que le chemin de destination est le même que celui de l’archive (via l’option -d le_dossier). Et hop le tour est joué ! Un petit rm –rf */*.zip pour virer les archives devenue superflues et c’est fini. Au final, voilà ce que ça donne :

Bilan de l’opération : 15 minutes pour faire le script (rédaction du billet comprise) et 6 minutes d’exécution (la machine souffrait déjà en terme de charge) pour traiter 544 dossiers et 1503 fichiers .zip pour une taille totale de 2.4Go.