Találkozott már szöveges fájlokkal, amelyek ismétlődő sorokat és ismétlődő szavakat tartalmaznak? Lehet, hogy rendszeresen dolgozik a parancskimenettel, és szeretné szűrni azokat a különböző karakterláncokhoz. Ami a szöveges fájlokat és a redundáns adatok eltávolítását illeti Linuxon, a uniq parancs a legjobb megoldás.
Ebben a cikkben részletesen megvitatjuk az uniq parancsot, valamint részletes útmutatót a parancs használatával az ismétlődő sorok eltávolításáról egy szövegfájlból.
Mi az uniq parancs?
A Linux Uniq parancsával azonos sorokat jeleníthet meg egy szövegfájlban. Ez a parancs akkor lehet hasznos, ha el szeretné távolítani az ismétlődő szavakat vagy karakterláncokat egy szövegfájlból. Mivel az uniq parancs illeszkedik a szomszédos sorokhoz a redundáns másolatok kereséséhez, csak rendezett szöveges fájlokkal működik.
Szerencsére csövezni lehet fajta parancsot az uniq segítségével, hogy a szövegfájlt a paranccsal kompatibilis módon rendezze. Az ismétlődő sorok megjelenítésén kívül az uniq parancs számolhatja a duplikált sorok előfordulását egy szöveges fájlban.
Az uniq parancs használata
Különféle lehetőségek és jelzők használhatók az uniq használatával. Némelyikük alapvető, és egyszerű műveleteket hajt végre, például ismétlődő sorokat nyomtat, míg mások a haladó felhasználóknak szólnak, akik gyakran dolgoznak szöveges fájlokkal Linuxon.
Alapszintaxis
A uniq parancs alapvető szintaxisa a következő:
uniq option input output
...ahol választási lehetőség a parancs bizonyos módszereinek meghívására használt zászló, bemenet a szövegfájl feldolgozásra, és Kimenet a kimenetet tároló fájl elérési útja.
Az Kimenet argumentum nem kötelező, és kihagyható. Ha a felhasználó nem adja meg a bemeneti fájlt, az uniq a szabványos kimenet adatait veszi bemenetként. Ez lehetővé teszi a felhasználó számára, hogy az uniq -vel csövezzen más Linux parancsok .
Példa szövegfájl
A szövegfájlt fogjuk használni duplicate.txt mint a parancs bemenete.
127.0.0.1 TCP
127.0.0.1 UDP
Do catch this
DO CATCH THIS
Don't match this
Don't catch this
This is a text file.
This is a text file.
THIS IS A TEXT FILE.
Unique lines are really rare.
Ne feledje, hogy ezt a szövegfájlt már rendbe tettük a fajta parancs. Ha más szövegfájllal dolgozik, a következő paranccsal rendezheti azt:
sort filename.txt > sorted.txt
Ismétlődő sorok eltávolítása
A uniq legalapvetőbb felhasználása az ismétlődő karakterláncok eltávolítása a bemenetről és az egyedi kimenet nyomtatása.
uniq duplicate.txt
Kimenet:
Vegye figyelembe, hogy a rendszer nem jeleníti meg a sor második előfordulását Ez egy szöveges fájl . Ezenkívül a fent említett parancs csak a fájl egyedi sorait nyomtatja ki, és nem befolyásolja az eredeti szövegfájl tartalmát.
Ismételt sorok számlálása
A szöveges fájlban az ismétlődő sorok számának megjelenítéséhez használja a -c zászló az alapértelmezett paranccsal.
uniq -c duplicate.txt
Kimenet:
A rendszer megjeleníti a szövegfájlban lévő összes sor számát. Láthatja, hogy a vonal Ez egy szöveges fájl kétszer fordul elő a fájlban. Alapértelmezés szerint a uniq parancs megkülönbözteti a kis- és nagybetűket.
Csak ismétlődő sorok nyomtatása
Ha csak ismétlődő sorokat szeretne nyomtatni a szövegfájlból, használja a -D zászló. Az -D áll Másolat .
uniq -D duplicate.txt
A rendszer a következőképpen jeleníti meg a kimenetet.
This is a text file.
This is a text file.
A mezők kihagyása az ismétlődések keresése közben
Ha bizonyos számú mezőt ki szeretne hagyni a karakterláncok egyeztetése közben, akkor használja a -f zászló a paranccsal. Az -f áll Terület .
Tekintsük a következő szövegfájlt mezők.txt .
192.168.0.1 TCP
127.0.0.1 TCP
354.231.1.1 TCP
Linux FS
Windows FS
macOS FS
Az első mező átugrása:
uniq -f 1 fields.txt
Kimenet:
192.168.0.1 TCP
Linux FS
A fent említett parancs kihagyta az első mezőt (az IP -címeket és az operációs rendszerek nevét), és megfelelt a második szónak (TCP és FS). Ezután az egyes mérkőzések első előfordulását jelenítette meg kimenetként.
Hagyja figyelmen kívül a karaktereket összehasonlításkor
A mezők átugrásához hasonlóan a karaktereket is kihagyhatja. Az -s zászló lehetővé teszi az átugorható karakterek számának megadását az ismétlődő sorok egyeztetése közben. Ez a funkció segít abban az esetben, ha a feldolgozott adatok listaként szerepelnek az alábbiak szerint:
hogyan kell telepíteni a Windows 7 -et a virtualboxra
1. First
2. Second
3. Second
4. Second
5. Third
6. Third
7. Fourth
8. Fifth
A fájl első két karakterének (a lista számozásának) figyelmen kívül hagyása list.txt :
uniq -s 2 list.txt
Kimenet:
A fenti kimenetben az első két karaktert figyelmen kívül hagyták, a többit pedig egyedi sorokhoz illesztették.
Ellenőrizze az első N karakterek számát ismétlődésekhez
Az -ban ben jelző lehetővé teszi, hogy csak meghatározott számú karaktert ellenőrizze az ismétlődésekben. Például:
uniq -w 2 duplicate.txt
A fent említett parancs csak az első két karakternek felel meg, és egyedi sorokat nyomtat, ha vannak ilyenek.
Kimenet:
Távolítsa el a kis- és nagybetűket
Amint fentebb említettük, az uniq megkülönbözteti a kis- és nagybetűket, miközben illeszkedik a fájl soraihoz. A karakterek figyelmen kívül hagyásához használja a -én opciót a paranccsal.
uniq -i duplicate.txt
A következő kimenetet fogja látni.
Figyelmeztetés a fenti kimeneten, az uniq nem jelenítette meg a sorokat FOGJUK EZT és EZ SZÖVEGFÁJL .
Kimenet küldése fájlba
A uniq parancs kimenetének fájlba küldéséhez használja a Kimeneti átirányítás ( > ) karakter az alábbiak szerint:
uniq -i duplicate.txt > otherfile.txt
A kimenet szöveges fájlba küldése közben a rendszer nem jeleníti meg a parancs kimenetét. Az új fájl tartalmát a macska parancs.
cat otherfile.txt
Használhat más módszereket is parancssori kimenetet küld egy fájlnak Linux alatt .
Ismétlődő adatok elemzése uniq -val
A legtöbb esetben a Linux szerverek kezelése közben vagy a terminálon dolgozik, vagy szöveges fájlokat szerkeszt. Ezért a szöveges fájlok sorainak redundáns másolatainak eltávolításának ismerete nagy előny lehet a Linux készségei számára.
A szöveges fájlokkal való munka frusztráló lehet, ha nem tudja, hogyan kell szűrni és rendezni a fájlokat. A munka megkönnyítése érdekében a Linux számos szövegszerkesztő parancsot tartalmaz, mint például sed és awk amelyek lehetővé teszik a hatékony munkát szöveges fájlokkal és parancssori kimenetekkel.
Részvény Részvény Csipog Email Ez a 10 Sed példa Linux Power felhasználóvá teszSzeretne Linux energiafelhasználóvá válni? Segíteni fog a sed kezelése. Tanuljon ebből a 10 példából.
Olvassa tovább Kapcsolódó témák- Linux
- Linux
A Deepesh a MUO Linux -szerkesztője. Információs útmutatókat ír Linuxon, célja, hogy boldog élményt nyújtson minden újonnan érkezőnek. Nem biztos a filmekben, de ha a technológiáról akar beszélni, akkor ő a pasija. Szabadidejében találhat könyveket olvasni, különböző zenei műfajokat hallgatni vagy gitározni.
Továbbiak a Deepesh Sharma -tólIratkozzon fel hírlevelünkre
Csatlakozz hírlevelünkhöz, ahol technikai tippeket, értékeléseket, ingyenes e -könyveket és exkluzív ajánlatokat találsz!
Feliratkozáshoz kattintson ide