Patru moduri remarcabile de a folosi Find&Replace în Notepad++


Pentru început un comentariu care va părea unora inutil: în pofida dezvoltării de noi formate, deschise sau proprietare, fişierele text rămân alături de noi. HTML-ul paginii pe care o citiţi acum, cu JavaScriptul şi Php-ul de rigoare sunt de fapt fişiere text. Formatul CSV este în continuare folosit pentru a transfera baze de date. Chiar noile formate de Office de la Microsoft nu sunt de fapt decât nişte XML-uri arhivate. Toate aceste fişiere (da, chiar şi .xlsx) pot fi editate cu procesoare de text precum Notepad++ de care vorbim acum.

Aşa că să trecem la primul mod de folosire.

1. Procesare a unor grupuri de fişiere (batch)

Locul cel mai evident este Find (Ctrl+F) şi apoi Find in Files / Găseşte în File.

imagine

Există şi o opţiune mai puţin elegantă, anume Find [sau Replace] in all Opened Files / Găseşte [sau Înlocuieşte] în toate documentele deschise. Aceasta e bună dacă vreţi să faceţi operaţii complexe şi nu ştiţi prea bine cum. Dacă ai în faţă un fişier deschis poţi să urmăreşti rezultatul şi să salvezi numai dacă eşti mulţumit.

imagine

2. Analiză de date

Să zicem că aveţi un grup de 1000 de fişiere despre păsări. Dumneavoastră doriţi să aflaţi mai multe despre vrăbii, dar din nefericire toate fişierele menţionează cuvântul măcar odată, alături de multe alte specii. Folosind Find in Files  puteţi obţine un raport care să vă zică de câte ori şi unde apare cuvântul. Nu am un exemplu cu păsări, dar copiez mai jos un raport care ne spune câte oraşe municipii comune, sate şi sectoare sunt în România (mă rog, în bazele pe care le-am analizat).

imagine

Raportul poate fi folosit pentru a crea un fişier .bat care să copieze într-un director nou doar acele fişiere care vă interesează. Sau, folosind funcţii mai complexe de înlocuire puteţi crea chiar un fişier comun cu toate intrările.

3. Expresii regulate folosite cu uşurinţă

Că tot vorbim de funcţii complexe, Notepad++ suportă expresii regulate (Regex). Cum însă acestea sunt extrem de ne-intuitive, aplicaţia ne pune la îndemână o fereastră separată de Find&Replace cu un mic dicţionar Regex. Am citit pe bloguri (şi am şi experimentat personal) că înlocuirea capătului de rând (caracterul rând nou) nu prea merge şi pentru asta puteţi folosi mai bine căutarea „Extended” (vezi imaginile deja arătate). Oricum, fereastra arată ca mai jos. Pentru a o apela apăsaţi Ctrl+R. (Notă: eu am instalat şi acest plugin). Dacă aspectul vă descurajează puteţi genera regexul aici şi să îl copiaţi într-o fereastră standard.

imagine

4. Macrocomenzi

Dacă punctele de mai sus nu răspund nevoilor dumneavoastră, probabil veţi dori să folosiţi macrouri.

imagine

Din meniuri puteţi înregistra comenzile date pentru a forma un macro, salva acest macro şi chiar rula în mode repetat. Problema este dacă doriţi să editaţi codul generat. Acesta este nedocumentat şi destul de greu de citit. Totuşi pentru a-l edita, închideţi Notepad++ şi căutaţi fişierul shorcuts.xml. La mine este în „…\Notepad++Portable\Data\settings”. Deschideţi-l şi veţi vedea codul generat arătând cam aşa:

<NotepadPlus>
    <InternalCommands />
    <Macros>
        <Macro name="Trim Trailing and save" Ctrl="no" Alt="yes" Shift="yes" Key="83">
            <Action type="2" message="0" wParam="42024" lParam="0" sParam="" />
            <Action type="2" message="0" wParam="41006" lParam="0" sParam="" />
        </Macro>
        <Macro name="replace_panelistID" Ctrl="no" Alt="no" Shift="no" Key="0">
            <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
            <Action type="3" message="1601" wParam="0" lParam="0" sParam="id" />
            <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
            <Action type="3" message="1602" wParam="0" lParam="0" sParam="id" />
            <Action type="3" message="1702" wParam="0" lParam="769" sParam="" />
            <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
            <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
            <Action type="3" message="1601" wParam="0" lParam="0" sParam="submitdate" />
[...]

Mergând încet şi pe ghicite trebuie să aflaţi ce fac diverşii parametri. Faceţi modificările salvaţi şi testaţi. Atenţie: dacă Notepad++ e pornit când editaţi shortcuts.xml va suprascrie modificările făcute la închidere. În plus, nu există o comandă echivalentă cu „echo off”, sau cel puţin eu nu am găsit. Astfel, dacă înlocuiţi 1000 de termeni veţi primi de la aplicaţie 1000 de mesaje la care trebuie să daţi OK. Desigur, totul se poate rezolva cu o greutate pusă pe ENTER, dar parcă… nu de asta ne-au ţinut părinţii noştri în şcoală. Comparativ, aş zice că funcţiile şi macrocomenzile în Notepad++ sunt mai complicate decât la MS Office dar, cel puţin uneori, mai simple decât la Libre/Open Office. Dar un pachet Office are un munte de funcţii; de aceea nu va putea deschide la fel de uşor sau salva la fel de stabil cantităţi mari de date precum un procesor de texte.

Andrei Tiut


Apreciază articolul:

1 stea2 stea3 stea4 stea5 stea (Neevaluat încă)
Loading...Loading...

0 comentarii


Lasă un răspuns

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