Archive pour le tag 'shell'

Shell - grep récursif

14 décembre 2004

Le programme grep est un outil très utile pour chercher par exemple tous les fichiers sources qui font référence à telle ou telle fonction. Néanmoins l’option permettant de faire une recherche récursive dans les répertoires n’est pas disponible sur toutes les plates-formes (AIX, HP-UX, …).

En principe, il est possible de faire :

$grep -r ma_fonction
$grep -d recurse ma_fonction $rgrep ma_fonction

Si cela ne fonctionne pas, voici d’autres fonctions de procéder (avec les utilitaires find et xargs) :

$find . -type f -print | xargs grep ma_fonction
$find . -exec grep ma_fonction {} ; -print

Shell - Supprimer les extensions de fichiers en masse

1 décembre 2004

Aujourd’hui je devais renommer un nombre important de fichiers. Le changement de nom du fichier consistait seulement à supprimer l’extension des fichiers.

Voici la commande en shell qui permet de le faire :

ls -1|sed 's/\(.*\)\.\([^\.]*\)/mv \1\.\2 \1/g'|sh

Explications étape par étape :

  1. Lister les fichiers à renommer[1]
  2. Générer les lignes de commandes de la forme mv ancien nouveau avec sed[2]
  3. Exécuter les lignes de commandes générées

Notes

[1] Il est possible de modifier les arguments du ls pour filtrer les fichiers à renommer.

[2] Le sed peut être modifié pour faire autre chose que supprimer les extensions.