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?

Router eszköz

Hogyan állítsuk vissza a gyári beállításokat egy router-en?

Sokszor megesik, hogy konfigurálgatunk egy-két dolgok a router-ben, azonban valamilyen hiba lép fel, és nem …

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