find ou la commande à tout faire

Sous linux, quand on cherche des fichiers, il existe la commande find.

Mais cette commande permet de réaliser plus que de simple recherches : elle permet également d’appliquer des outils directement sur les résultats de recherche.

ça paraît vague dit comme ça, mais cette commande est M*A*G*I*Q*U*E* et fait partie du BA-ba à connaître sous linux quand on est DevOps.

Continue reading “find ou la commande à tout faire”

Renommage en masse sous linux : rename

Edit du 19/01/2019 : suite au contact de Cyril Bois, je rajoute également son site pour les tests de RegEx.

Il existe plusieurs méthodes “petit barbu” pour traiter des renommages de masses sous linux en ligne de commande.
Deux commandes sont citées souvent rename et mmv. Cet article porte sur le premier 🙂

rename

Voici quelques exemples ‘simples’ d’utilisation de rename

A noter que pour tester les regex de “rename” on peut utiliser les sites suivants

Le second site contient également pleins d’outils sympathiques pour les CSS, JDOM…

Dans les exemples, l’option “-n” signifie noexecute, l’option -v = mode verbeux

  • Insérer un 0 au numéro de saison d’une série:
    Exemple :
    12 Monkeys/Saison 01/12 Monkeys – 1×13 Arms of Mine – IMMERSE.mkv ⇒ 12 Monkeys/Saison 01/12 Monkeys – 01×13 Arms of Mine – IMMERSE.mkv
find . -type f -name "*.mkv" -exec rename -v 's/(.*[[:space:]]+-)[[:space:]]+([0-9]{1})(x.*\.mkv)/$1 0$2$3/' {} \;
  • Supprimer la valeur ” – Sonarr” d’un fichier quelconque

Game of Thrones – 02×01 The North Remembers – Sonarr.mkv ⇒ Game of Thrones – 02×01 The North Remembers.mkv

 rename -n -v 's/(.*) - Sonarr(.*)/$1$2/' *
rename -n -v 's/(Game of Thrones - [0-9]+)x([0-9]+) -( .*\.[a-z]{2}\.srt)/$1x$2$3/' *.srt
  • Insérer un 0 supplémentaire dans les fichiers ayants deux chiffres finaux;

Exemple:
03 – Darth Vader and the Cry of Shadows #05-05.jpg ⇒ 03 – Darth Vader and the Cry of Shadows #05-005.jpg
Cas particulier, les fichiers avec trois chiffres ne doivent pas être modifiés, par Exemple
03 – Darth Vader and the Cry of Shadows #05-105.jpg => 03 – Darth Vader and the Cry of Shadows #05-105.jpg

rename -n -v 's/(.*)-([0-9]{2})(\.jpg)/$1-0$2$3/' *.jpg
  • renommer les fichiers “* – Txx ” en ” #xx”
  • Changer rapidement les extensions des fichiers
rename 's/\.zip$/\.cbz/' *.zip

Un outil pour convertir des AVI MP4 ISO : mkvmerge

Le format MKV est un conteneur assez fantastique pouvant contenir toutes sortes de formats (vidéos, audio, sous titres, chapitres, images etc.). Je ne ferai pas de copier coller, mais aller jeter un oeil sur la page wikipedia.

Un des gros avantages des MKV, c’est sa capacité d’ajouter des informations pertinentes sur les différentes pistes qu’il contient, comme par exemple la langue (français anglais etc.).

Le format est facilement lisible sur la plupart des matériels / logiciels grand publics, on peut l’utiliser pour conserver une bibliothèque de vidéos. Mais que faire des vieux divx pourris films de vacances que l’on a conservé amoureusement ? Et bien, il est possible de modifier le conteneur pour les transformer en MKV.

Pour cela on peut utiliser la commande mkvmerge

Continue reading “Un outil pour convertir des AVI MP4 ISO : mkvmerge”

Identifier des dépendances inverses

Sous linux, il peut être parfois utile d’identifier les dépendances inverses. C’est à dire, en partant d’un paquet installé, on cherche à savoir quel paquet l’utilise!

Sous ubuntu, il existe une commande très utile associé à apt-cache. Plus précisément :

sudo apt-cache rdepends <nomdupaquet>

Bien entendu, cela ne fonctionne que sur les paquets installés via le gestionnaire de paquets, et que pour les debian/ubuntu.

Il se peut donc que certaines dépendances ne soient pas visibles (sources compilées par exemple)