Mac OS X narzędzie do wyszukiwania i zastępowania z obsługą wyrażeń regularnych

9

Szukam narzędzia graficznego do wyszukiwania / zamiany opartego na wyrażeniach regularnych, które jest w stanie obsłużyć wiele plików / podkatalogów, coś w rodzaju grepWin, ale dla Mac OS X.

PS. Mam świadomość grep i nie potrzebuję edytora, tylko samodzielne narzędzie.

użytkownik187291
źródło
Komodo Edit ( activestate.com/komodo-edit ) ma funkcję „Znajdź / Zamień w plikach”. To darmowy edytor dla komputerów Mac, Windows i Linux.
jsherk

Odpowiedzi:

3

Och, właśnie to znalazłem:

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

Znajdź i zamień!

Potężne narzędzie do wyszukiwania i zastępowania. Umożliwia wykonywanie bardzo złożonych zamian partii w plikach tekstowych o dowolnym rozmiarze. Obsługuje składnię wyrażeń regularnych i dziesiątki kodowań. Posiada możliwości skryptowe, które pozwalają na przekształcanie w locie tekstu zastępczego dla każdego znalezionego łańcucha. Obsługuje nawet przetwarzanie wsadowe kodowania plików, a także typów końca linii.

Oto niektóre kluczowe funkcje Find & Replace It !:

  • Znajdź i zamień wiele plików jednocześnie
  • Obsługuje wyrażenia regularne
  • Obsługuje wiele kodowań tekstu
  • Udostępnia edytor wyrażeń regularnych
  • Zapewnia podgląd funkcji Znajdź i zamień
  • Oferuje interfejs skryptowy, który pozwala na bieżąco przekształcać tekst zastępczy
  • Wiele innych funkcji

Opracował go dProg - Philippe Docourt . Nigdy go nie użyłem , więc weź to zalecenie z odrobiną soli!

Josh
źródło
12

Prawdopodobnie szukasz aplikacji GUI, ale mogę polecić polecenie terminalu. Perl może dokonać wbudowanej zamiany:

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

Spowoduje to znalezienie wszystkich plików w bieżącym katalogu i zastąpienie na podstawie podanego wyrażenia regularnego. Jeśli chcesz zmienić katalogi, łatwym sposobem jest wpisanie: cd (upewnij się, że po nim jest spacja), a następnie przeciągnij i upuść folder z Findera do okna terminala. Naciśnij Return, a znajdziesz się w wybranym folderze; następnie uruchom powyższą komendę perl.

Jeśli chcesz, aby Perl zrobił kopie zapasowe przed zamianą, uruchom:

find . -type f -exec perl -p -i.bak -e "s/SEARCH_REGEX/REPLACEMENT/g" {} \;
Josh
źródło
4
za każdym razem, gdy sugeruję Perlowi odpowiedź SO lub SU, jestem oceniany bez odpowiedzi. Najwyraźniej jak to się tutaj dzieje. :)
Ian C.
@Ian: Może powinienem był użyć składni ruby? ;-)
Josh
2
wyobraź sobie super użytkowników używających wyrażeń regularnych Perla, to szalone
mindless.panda
1

Rozumiem, że nie potrzebujesz pełnego edytora, ale często najlepsze narzędzia znajdują się w jednym. TextMate ma pełną obsługę wyrażeń regularnych i bardzo dobrze obsługuje pliki i katalogi. Kolejnym, o którym nie próbowałem, ale słyszałem dobre rzeczy, jest TextWrangler .

Josh K.
źródło
dzięki, już korzystam z Textmate i jest niesamowity, ale nie jako narzędzie do zamiany wyszukiwania. „Dlaczego nie ma cholernego przycisku stop? !!” ( blog.johnjosephbachir.org/2007/10/01/… );))
user187291