A Notepad++ egy rendkívül népszerű szövegszerkesztő, amelyet elsősorban fejlesztők és haladó felhasználók használnak különféle szöveges fájlok kezelésére. Gyakran felmerülő kérdés, hogy miként lehet egy nagy méretű, akár 300.000 soros TXT fájlban azonos sorokat megjelölni anélkül, hogy törölnénk azokat. Bár a duplikált sorok eltávolítására több módszer is létezik, sok esetben szükség lehet csak a duplikált sorok azonosítására és feldolgozására.
Miért lehet hasznos az azonos sorok kiemelése?
Amikor hatalmas méretű szöveges állományokkal dolgozunk, gyakran előfordul, hogy egyes sorok többször is szerepelnek a fájlban. Az ilyen ismétlődő adatok kezelése kulcsfontosságú lehet, például:
- Log fájlok elemzésekor, amikor ismétlődő bejegyzéseket kell azonosítani
- Nagy adatbázisokból exportált CSV vagy TXT fájlok tisztítása
- Szöveges fájlok összehasonlítása és duplikációk kiszűrése
- Kód vagy konfigurációs fájlok elemzése és optimalizálása
Ebben a cikkben megmutatjuk, hogyan lehet a Notepad++ segítségével azonosítani és megjelölni az ismétlődő sorokat egy szöveges fájlban.
Notepad++ bővítmények és lehetőségek az ismétlődő sorok megjelölésére
A Notepad++ önmagában nem tartalmaz beépített funkciót a duplikált sorok kiemelésére, azonban néhány bővítménnyel és keresési technikával könnyen elvégezhetjük ezt a feladatot.
1. Megoldás: A „Mark” funkció használata
A Notepad++ „Find” (Keresés) eszközében található „Mark” (Megjelölés) funkció lehetővé teszi, hogy meghatározott mintázatokat keressünk és emeljünk ki egy dokumentumban.
- Nyisd meg a Notepad++ alkalmazást, és töltsd be a szöveges fájlt.
- Nyomd meg a Ctrl + F billentyűkombinációt a keresőablak megnyitásához.
- Kattints a „Mark” fülre.
- Kapcsold be a „Bookmark line” opciót.
- Használj egy megfelelő reguláris kifejezést a duplikált sorok kereséséhez (ehhez lásd az alábbi példát).
- Kattints a „Mark All” gombra, hogy kiemeld az ismétlődő sorokat.
Ez a módszer lehetővé teszi a sorok megjelölését, de nem emeli ki konkrétan a duplikációkat.
2. Megoldás: Python Script Plugin használata
Ha egy teljesen automatizált megoldásra van szükséged, akkor a Notepad++ „Python Script” bővítményével egy egyszerű Python kódot használhatsz az ismétlődő sorok kiemelésére.
A szükséges lépések:
- Telepítsd a „Python Script” bővítményt a Plugin Managerből.
- Nyiss egy új Python Script fájlt.
- Illeszd be az alábbi kódot:
from collections import Counter editor.beginUndoAction() lines = editor.getText().split("\n") counter = Counter(lines) for i, line in enumerate(lines): if counter[line] > 1: editor.markerAdd(i, 1) editor.endUndoAction()
Ez a script végigmegy a fájl minden során, megszámolja az ismétlődéseket, és megjelöli azokat a Notepad++ kijelölési funkciójával.
3. Megoldás: RegEx keresés duplikált sorok kiemelésére
Ha nem akarsz bővítményeket telepíteni, akkor a beépített reguláris kifejezések segítségével is megkeresheted a duplikált sorokat.
- Nyisd meg a keresőablakot (Ctrl + F).
- Kattints a „Mark” fülre.
- Írd be ezt a reguláris kifejezést a keresőmezőbe:
^(.*)(\n\1)+$
Ez a kifejezés az egymás után ismétlődő sorokat találja meg. Ha a fájlodban nem egymás mellett szerepelnek az azonos sorok, akkor először rendezd a fájlt (Edit > Line Operations > Sort Lines Lexicographically), majd futtasd ezt a keresést.
Összegzés
A Notepad++ többféle módot kínál az azonos sorok megjelölésére, attól függően, hogy milyen szintű automatizálásra van szükséged:
- A „Mark” funkció egyszerű és gyors megoldás a vizuális kiemeléshez.
- A Python Script bővítmény lehetővé teszi az ismétlődő sorok automatikus azonosítását és feldolgozását.
- A RegEx keresés akkor hasznos, ha gyorsan szeretnéd megtalálni az ismétlődő sorokat.
Attól függően, hogy milyen céllal szeretnéd azonosítani a duplikációkat, ezek a módszerek hatékony megoldást nyújthatnak a nagy méretű fájlok kezelésére a Notepad++ segítségével.