Mac OS X cerca e sostituisce lo strumento con il supporto delle espressioni regolari


9

Sto cercando uno strumento di ricerca / sostituzione basato su espressioni regolari in grado di gestire più file / sottodirectory, qualcosa come grepWin ma per Mac OS X.

PS. Sono a conoscenza di grep e non ho bisogno di un editor, ma solo uno strumento autonomo.


Komodo Edit ( activestate.com/komodo-edit ) ha una funzione "Trova / Sostituisci nei file". È un editor gratuito per Mac, Windows e Linux.
jsherk,

Risposte:


3

Oh, ho anche trovato questo:

http://www.dprog.ch/home/products/find_and_replace_it/

Informazioni su Trova e sostituisci!

Una potente utility di ricerca e sostituzione. Consente di eseguire sostituzioni batch molto complesse all'interno di file di testo di qualsiasi dimensione. Supporta la sintassi delle espressioni regolari e dozzine di codifiche. Ha funzionalità di scripting che consentono di trasformare al volo il testo sostitutivo per ogni stringa trovata. Gestisce persino l'elaborazione in batch della codifica dei file, nonché dei tipi di fine riga.

Ecco alcune delle funzionalità principali di Trova e sostituisci !:

  • Trova e sostituisci più file contemporaneamente
  • Supporta regexps
  • Supporta molte codifiche di testo
  • Fornisce un editor regexp
  • Fornisce un'anteprima di ricerca e sostituzione
  • Offre un'interfaccia di scripting che consente di trasformare il testo sostitutivo al volo
  • Molte altre funzionalità

È sviluppato da dProg - Philippe Docourt . Non l'ho mai usato , quindi prendi questa raccomandazione con un granello di sale!


12

Probabilmente stai cercando un'app GUI, ma posso consigliare un comando terminale. Perl può effettuare la sostituzione in linea:

find . -type f -exec perl -p -i -e "s/SEARCH_REGEX/REPLACEMENT/g" {} \;

Questo troverà tutti i file nella directory corrente e sostituirà in base al regexp fornito. Se hai bisogno di cambiare directory, un modo semplice è digitare: cd (assicurati che ci sia uno spazio dopo) e quindi trascinare e rilasciare una cartella dal Finder alla finestra del terminale. Premi Invio e sarai nella cartella che desideri; quindi esegui il comando perl sopra.

Se vuoi che perl faccia copie di backup prima di sostituirle, esegui:

find . -type f -exec perl -p -i.bak -e "s/SEARCH_REGEX/REPLACEMENT/g" {} \;

4
ogni volta che suggerisco Perl in una risposta SO o SU, vengo retrocesso senza una risposta. Come va da queste parti apparentemente. :)
Ian C.

@Ian: forse avrei dovuto usare la sintassi ruby? ;-)
Josh

2
immagina i super utenti che usano espressioni regolari perl, è pazzesco
mindless.panda il

1

Capisco che non è necessario un editor completo, ma spesso gli strumenti migliori si trovano all'interno di uno. TextMate ha il pieno supporto per le espressioni regolari e gestisce molto bene file e directory. Un altro che non ho provato ma di cui ho sentito parlare bene è TextWrangler .


grazie, sto già usando Textmate ed è fantastico, ma non come strumento di sostituzione della ricerca. "Perché non c'è un dannato pulsante di arresto? !!" ( blog.johnjosephbachir.org/2007/10/01/… );))
user187291
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.