Home / Linux / Bash: Duplikált sorok szűrése

Bash: Duplikált sorok szűrése

A minap szükségem volt arra, hogy egy szövegfájlból kiszűrjem az ismétlődő sorokat. Ezt Linux shellből könnyen meg lehet oldani


Két Linux segédprogram kell csak ehhez:

  • sort – ezzel lehet rendezni a sorokat a fájlban
  • uniq – ezzel a programmal pedig kiszűrni az ismétlődéseket

A legegyszerűbb ha a sort kimenetét egy pipeba (cső) küldjök, ami a uniq bemenete lesz, majd az egészet beleirányítjuk az ujfajl.txt nevű fájlba. Ha a végén elhagyjuk a > {UJFAJL} részt, akkor a konzolon jelenik meg a kimenet.

sort {FAJL} | uniq > {UJFAJL}

Ez az eredeti fájl (teszt.txt):

Régen
internet
bejegyzés
Régen
kezdők
internet

Mint látható a Régen és az internet szó szerepel kétszer.

Kiadom a parancsot:

sort teszt.txt | uniq

Az eredmény pedig:

bejegyzés
internet
kezdők
Régen

Lehetséges az is, hogy az ismétlődő elemeket teljesen kihagyjuk, ekkor az uniq parancsnak ezt az -u opcióval lehet megmondani:

sort teszt.txt | uniq -u

És ekkor az eredmény:

bejegyzés
kezdők

Szerző charlie

Évek óta foglalkozom informatikával, azon belül elsősorban Linux szerverek üzemeltetésével. Saját vállalkozás keretében VPS szolgáltatás nyújtásával is foglalkozok.

Olvastad?

Linux penguin

Mit kell tudni az inódokról Linux-on? (1. rész)

A Linux fájlrendszere úgynevezett „inód”-okra támaszkodik. Ezen alapvető építőköveit sokan nem ismerik és nem tudják, …

One comment

  1. sort -u teszt.txt

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

A weboldal használatának folytatásával Ön elfogadja a cookie-k használatát Adatkezelési tájékoztató és felhasználási feltételek

A süti beállítások ennél a honlapnál engedélyezett a legjobb felhasználói élmény érdekében. Amennyiben a beállítás változtatása nélkül kerül sor a honlap használatára, vagy az "Elfogadás" gombra történik kattintás, azzal a felhasználó elfogadja a sütik használatát.

Bezárás