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
linux shell
Publié dans Linux | Aucun commentaire »
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 :
- Lister les fichiers à renommer[1]
- Générer les lignes de commandes de la forme
mv ancien nouveau avec sed[2]
- 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.
linx shell
Publié dans Linux | Aucun commentaire »