Bagaimana cara menerapkan regex ke file teks besar?

2

Saya punya file teks besar (beberapa mega) contoh dan saya ingin tahu bagaimana jika ada cara yang lebih efisien untuk menerapkan regex daripada ke PyCharm atau SublimText 2 di Mac OSX.

Terima kasih.

Komentar: Saya ingin mengganti barang tidak hanya pencarian. Contoh akan diterima.

Alexis Benoist
sumber

Jawaban:

3

Cara paling efisien untuk mencari adalah grepatau mungkin ag, seperti ini:

grep -E "pattern" files

Cara paling efisien untuk mengganti adalah sed, seperti ini:

sed -e "s/pattern/replacement/g" <input.txt >output.txt

Namun, metode ini mengharuskan Anda menggunakan baris perintah, bukan GUI.

MEMPERBARUI

Setelah melihat file yang Anda tautkan, saya menyadari bahwa menggunakan grep atau utilitas berbasis teks lainnya sebenarnya pendekatan yang salah - file ini 150MB tidak terkompresi, dan sebenarnya adalah data CSV. Sebagai gantinya, saya merekomendasikan untuk mengimpor data CSV ini ke beberapa jenis database. Untuk keperluan Anda, saya pikir SQLite akan bekerja dengan baik, tetapi Anda juga dapat menggunakan database yang lebih besar seperti PostgreSQL atau MySQL. Kunci untuk mendapatkan pencarian yang sangat cepat adalah dengan membuat indeks pada bidang yang sedang dicari.

mvp
sumber
0

cara yang lebih efisien untuk menerapkan regex ke file teks besar?

Cara paling efisien yang saya tahu adalah grep search_expression hugefile

dari PyCharm atau SublimText 2 di Mac OSX

Itu adalah editor teks, tidak semua editor teks dioptimalkan untuk mencari dalam file teks besar. Itu bukan pekerjaan utama mereka. Mereka mungkin melakukan banyak penguraian (misalnya untuk deteksi dan penyorotan sintaksis) dan pekerjaan lain yang tidak relevan dengan tugas Anda.

Sering kali alat khusus kecil dapat mengungguli alat tujuan umum.

RedGrittyBrick
sumber