Apakah ada aplikasi OS X yang memudahkan Pencarian dan Ganti di banyak file?

9

Saya mencari alat OS X yang memungkinkan saya untuk mencari dan mengganti string pencarian di banyak file. Persyaratannya adalah sebagai berikut:

  • Cari dan Ganti
  • Cari dengan ekspresi reguler
  • Cari di banyak file
  • Cari di seluruh struktur direktori bersarang
  • Ganti ekspresi dapat menggunakan nilai dari pencarian (Ekspresi Reguler)
  • Alat ini memiliki antarmuka pengguna yang mudah digunakan
  • Lebih disukai gratis

Saya tahu bahwa beberapa editor teks seperti BBEdit memiliki fungsi ini, tetapi saya lebih suka alat ringan yang tidak mengharuskan saya untuk membuka file untuk diedit terlebih dahulu.

Jika tidak ada alat yang sesuai dengan persyaratan ini, saya juga akan mempertimbangkan alternatif baris perintah. Saya tahu itu perldan sedmendukung sesuatu seperti ini - solusi yang dapat saya definisikan sebagai alias Bash atau fungsi akan diterima dalam kasus ini.

nwinkler
sumber

Jawaban:

9

Saya biasanya menggunakan TextMate :

TextMate Search and Replace dialog

TextMate (1) adalah / adalah produk pembelian, tetapi TextMate 2 saat ini sedang dalam pengembangan openSource aktif di gitHub dan bebas untuk digunakan.

childno͡.de
sumber
5

Teks Sublime adalah apa yang saya gunakan, sangat bagus!

tangkapan layar temukan dan ganti

Teks Sublim:

  • bebas untuk dievaluasi (tanpa batasan waktu)
  • dapat mencari dan mengganti
  • dapat mencari dengan ekspresi reguler
  • dapat mencari di banyak file
  • dapat mencari di seluruh struktur direktori bersarang
  • dapat menggunakan nilai dari pencarian di ganti ekspresi
  • memiliki antarmuka pengguna yang mudah digunakan
Mike
sumber
1
Bisakah Anda lebih spesifik dan jelaskan bagaimana SublimeText memecahkan masalah yang dijelaskan dalam pertanyaan?
nohillside
Situs web mereka (tautan yang disediakan memberi tahu Anda segalanya) tetapi ... Ini gratis untuk mengevaluasi (tanpa batasan waktu) Cari dan Ganti - YA. Cari dengan ekspresi reguler - YA. Cari di banyak file - YA. Cari di seluruh struktur direktori bersarang - YA. Ganti ekspresi dapat menggunakan nilai dari pencarian (Ekspresi Reguler) - YES. Alat ini memiliki antarmuka pengguna yang mudah digunakan - YES. Lebih disukai gratis - YA (semacam).
Mike
3

Anda tidak harus membuka file dengan BBEdit. Anda cukup arahkan ke folder. Ini adalah alat yang sangat kuat, yang sering saya gunakan dengan banyak file HTML.

Kirk McElhearn
sumber
3

Selain solusi lain menggunakan editor teks, saya telah menemukan FAR - Find and Replace , alat mencari dan mengganti multi-platform. Ini bukan yang tercantik, tetapi sepertinya itu melakukan apa yang saya cari.

http://findandreplace.sourceforge.net/

nwinkler
sumber
2

Saya sering menggunakan skrip Ruby seperti ini:

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

Atau Anda dapat menggunakan gets(nil)dengan -i:

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

Jika Anda menginstal Bash 4 dan mengaktifkan globstar, Anda dapat menggunakan **shell juga:

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

Ini persis sedditulis dan cocok dengan semua persyaratan Anda, kecuali kurva belajarnya agak curam.

Untuk kurva belajar lebih lembut, mencoba TextWrangler dari BareBones. Ia menggunakan mesin teks BBEdit dan, saya percaya, memiliki fungsi pencarian & penggantian saudara lelaki yang lengkap

Bahtera Ƭ
sumber
1
Saya kenal dengan beberapa pemrograman bash dan scripting, tetapi tidak pernah melakukan sesuatu yang lebih maju sed. Bisakah Anda memberikan contoh cara menggunakan seduntuk mengganti teks dalam serangkaian file, seperti pada jawaban (saat ini) di atas ruby?
nwinkler
-1

Lihatlah Penelusuran dan Ganti Aplikasi saya . Anda dapat menggunakannya pada banyak file atau direktori, menyimpan string pencarian / ganti Anda dan Anda dapat menggunakan ekspresi reguler.

thomasguenzel
sumber
Bagaimana cara kerjanya - mengapa lebih baik daripada jawaban lain - tolong berikan lebih dari satu tautan
user151019
1
Hai dan selamat datang di Ask Different! Meskipun kami tidak keberatan pengembang merekomendasikan produk mereka ketika mereka memecahkan masalah yang disajikan, kami meminta Anda memberikan konteks yang jelas mengapa produk Anda merupakan jawaban dan bagaimana cara memecahkan masalah. Untuk informasi lebih lanjut tentang cara kerja Tanya Berbeda dan format Tanya Jawab StackExchange, lihat FAQ kami .
Ian C.
Saya kira memiliki fitur yang sama dengan alat lain yang direkomendasikan di sini. Perbedaannya adalah Anda memiliki GUI dan Anda dapat menyimpan file yang berisi string pencarian / ganti. Ini memiliki semua fungsi yang diminta nwinkler. Itu dapat mencari dan mengganti (juga menggunakan ekspresi reguler) di beberapa file / struktur direktori bersarang dan memiliki (setidaknya itu yang saya pikir) yang mudah digunakan GUI.
thomasguenzel