var Phenix = function () {
Troll du Web depuis 1996

Bash




Une commande #bash findrm pour ce faciliter la mémoire

La commande find est extrêmement pratique. Surtout quand on la met en musique avec la commande rm pour faire le ménage dans certain dossier.

Cependant, je trouve la syntaxe assez complexe, et j’en ai marre de faire une recherche Google à chaque fois. Du coup, hop, une petite fonction bash à mettre dans le fichier .bashrc :

  1. # Trouver et supprimer certains fichiers
  2. findrm () {
  3. if [ "$1" != "" ]; then
  4. find . -name "$1" | xargs rm -vf
  5. fi
  6. }

Merci jluc qui m’a signalé qu’il valait quand même mieux tester l’existence de $1 avant de faire n’importe quoi !

Besoin de supprimer tous ces fichiers .DS_Store qu’un vilain utilisateur de Mac à mis dans un dossier ? findrm ".DS_Store" !

J’ai activé le mode verbose (-v quoi) de la commande rm pour avoir un détail de ce qui se passe.
Attention quand même à bien faire un backup avant, car cette fonction ne va pas vous demander votre avis avant de supprimer les éléments !

Edit :

On me signale que c’est plus optimisé d’utiliser xarg ! Merci tofulm.

  1. # Trouver et supprimer certains fichiers
  2. findrm () {
  3. find . -name "$1" | xargs rm -vf
  4. }

Une fonction bash pour chercher dans les fichiers de langue #SPIP

Une petite fonction bash qui va chercher dans les fichiers de langue de SPIP après un mot en particulier.
Toujours pratique pour ne pas déclarer 10 fois la même chaîne de langue.

Il suffit d’ajouter ceci dans votre fichier .bashrc.

  1. # Recherche dans les fichiers de langue SPIP
  2. search_spip_lang () {
  3. LANG=${2:-"fr"} # On cherche par défaut dans le français. Mais le deuxième paramètre est la langue
  4. ag -G "lang/(.*)_$LANG.php" -- "$1" .
  5. }

Un second paramètre peut être utiliser pour chercher dans une langue précise (sinon, il cherche en français).

Exemple :

Recherche en français du mot « spip ».

  1. search_spip_lang spip

Recherche en anglais du mot « spip ».

  1. search_spip_lang spip en

Ici j’utilise la commande ag pour chercher dans les fichiers. Il suffit de l’installer :

  1. sudo apt install silversearcher-ag

Ack pourrait sans doute aussi faire le travail, mais ag est plus rapide :)