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.




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ă? 😛
😆 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.
Mă, PHP-ul e lent doar dacă implementarea algoritmului e proastă 😉
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.
😆 O să văd şi eu ce e cu TextPad. TC nu folosesc. 😉
P.S. Eu sunt Robintel. Gazdă pe acest blog. 😉
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.
😆 Da, N++ are. Dar merge rău pe UTF8. 😉