Czy jakieś aplikacje OS X ułatwiają wyszukiwanie i zamienianie wielu plików?

9

Szukam narzędzia OS X, które pozwala mi wyszukiwać i zamieniać ciąg wyszukiwania w wielu plikach. Wymagania są następujące:

  • Wyszukaj i zamień
  • Szukaj według wyrażenia regularnego
  • Szukaj w wielu plikach
  • Przeszukuj zagnieżdżone struktury katalogów
  • Zamień wyrażenie może używać wartości z wyszukiwania (wyrażenie regularne)
  • Narzędzie ma łatwy w obsłudze interfejs użytkownika
  • Najlepiej za darmo

Wiem, że niektóre edytory tekstu, takie jak BBEdit, mają tę funkcję, ale wolę lekkie narzędzie, które nie wymaga ode mnie otwierania plików do edycji w pierwszej kolejności.

Jeśli nie ma żadnych narzędzi spełniających te wymagania, rozważę również alternatywę z linii poleceń. Wiem o tym perli sedpopieram coś takiego - rozwiązanie, które mogę zdefiniować jako alias Bash lub funkcję byłoby w tym przypadku mile widziane.

nwinkler
źródło

Odpowiedzi:

9

Zazwyczaj używam TextMate :

TextMate Okno dialogowe Wyszukaj i zamień

TextMate (1) jest / był produktem kupowanym, ale TextMate 2 jest obecnie w fazie rozwoju openSource na gitHub i jest darmowy.

childno͡.de
źródło
5

Sublime Text jest tym, czego używam, jest świetny!

zrzut ekranu z znajdź i zamień

Wzniosły tekst:

  • jest wolny do oceny (bez ograniczenia czasowego)
  • może wyszukiwać i zamieniać
  • może wyszukiwać według wyrażeń regularnych
  • może przeszukiwać wiele plików
  • może przeszukiwać zagnieżdżone struktury katalogów
  • może używać wartości z wyszukiwania w zamianie wyrażenia
  • ma łatwy w obsłudze interfejs użytkownika
Mikrofon
źródło
1
Czy możesz być bardziej szczegółowy i opisać, w jaki sposób SublimeText rozwiązuje problem opisany w pytaniu?
nohillside
Ich strona internetowa (podany link mówi ci wszystko), ale ... Można to ocenić (bez ograniczeń czasowych) Wyszukaj i zamień - TAK. Wyszukaj według wyrażenia regularnego - TAK. Szukaj w wielu plikach - TAK. Szukaj w zagnieżdżonych strukturach katalogów - TAK. Zamień wyrażenie może używać wartości z wyszukiwania (wyrażenie regularne) - TAK. Narzędzie ma łatwy w obsłudze interfejs użytkownika - TAK. Najlepiej za darmo - TAK (w pewnym sensie).
Mike
3

Nie musisz otwierać plików za pomocą BBEdit. Po prostu wskaż folder. To bardzo potężne narzędzie, z którego często korzystałem przy dużej liczbie plików HTML.

Kirk McElhearn
źródło
3

Oprócz innych rozwiązań wykorzystujących edytor tekstu znalazłem FAR - Find and Replace , wieloplatformowe narzędzie do znajdowania i zastępowania. Nie jest najładniejszy, ale wygląda na to, że robi to, czego szukam.

http://findandreplace.sourceforge.net/

nwinkler
źródło
2

Często używam takich skryptów Ruby:

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

Lub możesz użyć gets(nil)z -i:

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

Jeśli zainstalujesz Bash 4 i włączysz globstar, możesz użyć go również **w powłokach:

sed -i '' 's/search/replace/g' **/*.txt
Lri
źródło
1

Jest to dokładnie sednapisane i odpowiada wszystkim twoim wymaganiom, z tym że krzywa uczenia się jest nieco stroma.

Aby uzyskać łagodniejszą krzywą uczenia się, wypróbuj TextWrangler od BareBones. Korzysta z silnika tekstowego BBEdit i, jak sądzę, ma pełną funkcjonalność wyszukiwania i zamiany swojego starszego brata

Ɱark Ƭ
źródło
1
Znam się na programowaniu i skryptowaniu bash, ale nigdy nie zrobiłem nic zaawansowanego sed. Czy możesz podać przykład sedzastępowania tekstu w szeregu plików, na przykład w (obecnie) powyższej rubyodpowiedzi?
nwinkler
-1

Spójrz na moje wyszukiwanie aplikacji i zamień . Możesz go używać w wielu plikach lub katalogach, zabezpieczyć wyszukiwanie / zamień ciągi znaków i możesz używać wyrażeń regularnych.

thomasguenzel
źródło
Jak to działa - dlaczego jest lepsze niż inne odpowiedzi - podaj więcej niż link
użytkownik151019
1
Cześć i witamy, aby zapytać inaczej! Chociaż nie mamy nic przeciwko deweloperom polecającym swoje produkty, gdy rozwiązują problemy, które są prezentowane, prosimy o podanie jasnego kontekstu, dlaczego Twój produkt jest odpowiedzią i jak rozwiązuje problem. Aby uzyskać więcej informacji o tym, jak działa Ask Different oraz format pytań i odpowiedzi StackExchange, zobacz nasze FAQ .
Ian C.
Wydaje mi się, że ma te same funkcje, co inne zalecane tutaj narzędzia. Różnica polega na tym, że masz GUI i możesz zapisywać pliki zawierające ciąg wyszukiwania / zamiany. Ma wszystkie funkcje, o które prosił nwinkler. Może wyszukiwać i zamieniać (także przy użyciu wyrażeń regularnych) w wielu plikach / zagnieżdżonych strukturach katalogów i ma (przynajmniej tak myślę) łatwy w obsłudze interfejs GUI.
thomasguenzel