Căutare şi înlocuire

Am un fişier de tip bază de date. Măricel. Aşa, pe la vreo 7 MB, având vreo 110,000 de linii. Deci măricel. Or, fişierul fiind de tip CSV (Comma Separated Values) am zis că e cazul să prelucrez un pic la el. Aici începe epopeea.

Încerc să-l deschid cu Notepad++. Reuşesc. Îi dau să înlocuiască. Şi aştept o oră. Şi încă o oră. Şi încă o oră… Încerc cu Notepad-ul din Windows. Ăla le înlocuia încet ca moartea prin blesteme de mă lua cu draci şi nervi. Cum adică să îi dea aşa o cacao la râşniţa mea?

Noroc că am găsit un program micuţ care să le înlocuiască la modul mach 5, că altfel o sugeam un picuţ aşa, că trebuia să fac un script PHP să ia fişierul, să-l cureţe de ghilimele şi apoi să-l bage în baza de date. Dar până bagă 110,000 de linii durează niţel. Aşa, cam la vreo 6 ore, că e pe server virtual şi neoptimizat ce rulează în Microsoft Virtual PC (adică neperformant, na, m-aţi făcut s-o şi zic).

Programul se numeşte, extrem de sugestiv, Search and Replace şi ştie nişte treburi mişto. Îl recomand în special programatorilor.

7 Comentarii

  1. Mihai Todor 29 iunie 2009 la 20:04 - Raspunde

    Eh, io ce să-ţi fac dacă nu ai învăţat C# 😛 Scriai în 2 minute un script care făcea aproape instant ce vroiai tu. De fapt, cred că şi în PHP puteai face la fel de rapid acelaşi script 😉

    Dacă stau bine să mă gândesc, aşa ceva puteai face în orice limbaj de programare (chiar şi XSLT) 😛

    LE: Mă mir că ai avut răbdarea să aştepţi să îl deschizi cu Notepad 😆

    LE2: Apropo, de Total Commander ai auzit vreodată? 😛

    • Robin Molnar 29 iunie 2009 la 21:10 - Raspunde

      😆 Nu-mi place C#-ul de nicio culoare. PHP-ul e lent. Naşpa. 😆 Cu Notepad îl deschide repede, adică normal. Dar procesarea o face ce rulmentul de la glezna ruginită a unui robot nefuncţional. :woohoo: Şi nu, nu-mi place TC.

      • Mihai Todor 29 iunie 2009 la 21:22 - Raspunde

        Mă, PHP-ul e lent doar dacă implementarea algoritmului e proastă 😉

  2. Paul 06 iulie 2009 la 19:09 - Raspunde

    Robin > din cite stiu eu (si folosesc TC de ani buni), Total Commander are doar viewer intern, pentru editare foloseste tot programe externe. Recte notepad, default.

    Robintel > TextPad, deschide fisier cu 10 milioane de rinduri in 30 de secunde, no problem. Iar search& replace (apropo, e pe F8) merge fulger.

    • Robin Molnar 06 iulie 2009 la 23:18 - Raspunde

      😆 O să văd şi eu ce e cu TextPad. TC nu folosesc. 😉

      P.S. Eu sunt Robintel. Gazdă pe acest blog. 😉

  3. Mihai Todor 06 iulie 2009 la 22:18 - Raspunde

    Mda, îs eu varză… Total Commander nu are funcţie de replace text in files, în schimb Notepad++ are şi merge chiar bine. Am încercat adineauri într-un fişier de 20 de mega şi a mers în ~2 minute pe un Barton 3200+… Deci, ca să fie treaba clară, mă refer la tabul \”Find in files\” din fereastra de search.

Lasa un raspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Vreau să fiu părtaș la faptă. Poți, de asemenea, să fii părtaș și fără martori.

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.