11 votes

Y a-t-il des applications OS X qui facilitent la recherche et le remplacement dans plusieurs fichiers ?

Je cherche un outil OS X qui me permette de rechercher et de remplacer une chaîne de recherche dans plusieurs fichiers. Les exigences sont les suivantes :

  • Recherche et remplacement
  • Recherche par expression régulière
  • Recherche dans plusieurs fichiers
  • Recherche dans des structures de répertoires imbriqués
  • L'expression de remplacement peut utiliser les valeurs de la recherche (expression régulière).
  • L'outil dispose d'une interface utilisateur facile à utiliser
  • De préférence gratuit

Je sais que certains éditeurs de texte comme BBEdit disposent de cette fonctionnalité, mais je préférerais un outil léger qui ne m'oblige pas à ouvrir d'abord les fichiers pour les modifier.

S'il n'existe pas d'outils répondant à ces exigences, j'envisagerais également une alternative en ligne de commande. Je sais que perl y sed soutenir quelque chose comme ça - une solution que je peux définir soit comme un Bash alias o fonction serait la bienvenue dans ce cas.

11voto

Todd Myhre Points 900

J'utilise généralement TextMate :

TextMate Search and Replace dialog

TextMate (1) est/était un produit acheté, mais TextMate 2 est actuellement en développement actif openSource sur gitHub et son utilisation est gratuite.

3voto

Kirk McElhearn Points 2259

Vous n'avez pas besoin d'ouvrir les fichiers avec BBEdit. Il suffit de le pointer vers un dossier. C'est un outil très puissant, que j'ai souvent utilisé avec un grand nombre de fichiers HTML.

3voto

nwinkler Points 8556

En plus des autres solutions utilisant un éditeur de texte, j'ai constaté que FAR - Recherche et remplacement un outil de recherche et de remplacement multi-plateforme. Ce n'est pas le plus joli, mais il semble faire ce que je cherche.

http://findandreplace.sourceforge.net/

3voto

Jim Davis Points 966

Texte sublime est ce que j'utilise, c'est génial !

screenshot of find and replace

Texte sublime :

  • est libre d'évaluation (pas de limite de temps imposée)
  • peut chercher et remplacer
  • peut effectuer une recherche par expression régulière
  • peut effectuer des recherches dans plusieurs fichiers
  • peut effectuer des recherches dans des structures de répertoires imbriqués
  • peut utiliser les valeurs de la recherche dans l'expression de remplacement
  • a une interface utilisateur facile à utiliser

2voto

J'utilise souvent des scripts Ruby comme ceci :

Dir["**/*.txt"].each { |f|
  IO.write(f, IO.read(f).gsub(/search/, "replace"))
}

Ou vous pouvez utiliser gets(nil) avec -i :

ruby -i -e 'print gets(nil).gsub(/search/, "replace")' *.txt

Si vous installer Bash 4 et activer globstar, vous pouvez utiliser ** dans les coquillages également :

sed -i '' 's/search/replace/g' **/*.txt

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X