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.

Robintel
Despre Politica de Confidențialitate

Acest website are nevoie să folosească cookies, care sunt niște fișiere text de mici dimensiuni ce conțin referințe specifice, dar nu explicite, stocate pe computerul voastru, astfel încât, de exemplu, atunci când lăsați un comentariu, datele din formular să se salveze, dar nu numai.

Fără acces la cookies, aceste date nu se vor salva.

Pentru a afla mai multe despre cum folosim informațiile și despre dreptul vostru asupra datelor voastre, vă rugăm să consultați pagina Politica de Confidențialitate.

Puteți modifica accesul la aceste cookies accesând taburile din stânga.