Je recherche un outil OS X qui me permet de rechercher et de remplacer une chaîne de recherche dans plusieurs fichiers. Les exigences sont les suivantes:
- Rechercher et remplacer
- Recherche par expression régulière
- Rechercher dans plusieurs fichiers
- Rechercher parmi les structures de répertoires imbriquées
- Remplacer l'expression peut utiliser des valeurs de la recherche (expression régulière)
- L'outil a une interface utilisateur facile à utiliser
- De préférence gratuit
Je sais que certains éditeurs de texte comme BBEdit ont cette fonctionnalité, mais je préférerais un outil léger qui ne nécessite pas que j'ouvre d'abord les fichiers pour les éditer.
S'il n'y a pas d'outils pour répondre à ces exigences, je considérerais également une alternative en ligne de commande. Je le sais perl
et je prends en sed
charge quelque chose comme ça - une solution que je peux définir comme un alias ou une fonction Bash serait la bienvenue dans ce cas.
Vous n'avez pas besoin d'ouvrir les fichiers avec BBEdit. Vous pointez simplement vers un dossier. C'est un outil très puissant, que j'ai souvent utilisé avec un grand nombre de fichiers HTML.
la source
En plus des autres solutions utilisant un éditeur de texte, j'ai trouvé FAR - Find and Replace , un outil de recherche et de remplacement multiplateforme. Ce n'est pas le plus joli, mais on dirait qu'il fait ce que je cherche.
http://findandreplace.sourceforge.net/
la source
J'utilise souvent des scripts Ruby comme ceci:
Ou vous pouvez utiliser
gets(nil)
avec-i
:Si vous installez Bash 4 et activez globstar, vous pouvez également l'utiliser
**
dans des shells:la source
C'est exactement ce qui a
sed
été écrit et cela correspond à toutes vos exigences, sauf que la courbe d'apprentissage est un peu raide.Pour une courbe d'apprentissage plus douce, essayez TextWrangler de BareBones. Il utilise le moteur de texte BBEdit et, je crois, a toutes les fonctionnalités de recherche et de remplacement de son grand frère
la source
sed
. Pouvez-vous fournir un exemple sur la façon d'utilisersed
pour remplacer du texte dans une série de fichiers, comme dans laruby
réponse (actuellement) ci-dessus ?Jetez un œil à ma recherche et remplacement d'applications . Vous pouvez l'utiliser sur plusieurs fichiers ou répertoires, sécuriser vos chaînes de recherche / remplacement et vous pouvez utiliser des expressions régulières.
la source