Weboldal keresés

14 hasznos példa a Linux „rendezési” parancsára – 1. rész


A „rendezés” parancs egy Linux-program, amely a bemeneti szövegfájlok sorainak nyomtatására és az összes fájl összefűzésére szolgál, rendezett sorrendben. A Rendezés parancs üres helyet foglal el mezőelválasztóként, és a teljes bemeneti fájlt rendezési kulcsként. Fontos megjegyezni, hogy a sort parancs valójában nem rendezi a fájlokat, hanem csak a rendezett kimenetet nyomtatja ki, amíg át nem irányítja a kimenetet.

Ez a cikk a Linux „sort” parancsának mélyreható betekintését célozza meg 14 hasznos gyakorlati példával, amelyek bemutatják, hogyan kell használni a sort parancsot Linuxban.

1. Szöveges fájl létrehozása megadott tartalommal

Először létrehozunk egy „tecmint.txt” nevű szövegfájlt, amelyet a „sort” parancspéldák végrehajtására használunk a munkakönyvtárunkban ehhez a feladathoz: /home/$USER/Desktop/tecmint".

A „-e” opció az alábbi parancsban lehetővé teszi a fordított perjel értelmezését, és az /n utasítja az echo parancsot, hogy minden karakterláncot új sorba írjon.

echo -e "computer\nmouse\nLAPTOP\ndata\nRedHat\nlaptop\ndebian\nlaptop" > tecmint.txt

2. Tekintse meg a fájl tartalmát

Mielőtt a „rendezés” paranccsal kezdenénk, vessünk egy pillantást a fájl tartalmára és megjelenésére a következő cat paranccsal.

cat tecmint.txt

3. Fájltartalom rendezése

A „sort tecmint.txt” paranccsal a fájl sorait növekvő ábécé sorrendbe rendezheti át. Ha vannak ismétlődő sorok, akkor minden egyedi sorból egy példányt megőrz.

sort tecmint.txt

Megjegyzés: A fenti parancs nem rendezi a szövegfájl tartalmát, hanem csak a rendezett kimenetet jeleníti meg a terminálon.

4. Rendezett kimenet átirányítása új fájlba

A következő paranccsal rendezheti a „tecmint.txt” szövegfájl sorait ábécé sorrendben, majd a rendezett kimenetet átirányítja egy új „sorted.txt” fájlba. “, ami azt jelenti, hogy az eredeti fájl változatlan marad, és a rendezett tartalom egy külön fájlban tárolódik.

A tartalom ellenőrzéséhez használja a cat parancsot.

sort tecmint.txt > sorted.txt
cat sorted.txt

5. A fájl tartalmának rendezése fordított sorrendben

A következő parancs a „tecmint.txt” szövegfájl sorainak fordított sorrendbe rendezésére szolgál, ami azt jelenti, hogy a sorokat csökkenő ábécé sorrendbe rendezi, majd a rendezett kimenetet átirányítja egy újba. „reversesorted.txt” nevű fájl

sort -r tecmint.txt > reversesorted.txt
cat reversesorted.txt

6. Fájlok és könyvtárak listájának mentése

A következő paranccsal a felhasználó kezdőkönyvtárának tartalma („/home/$USER“) részletes, hosszú formátumú nézetben listázható az ls paranccsal, majd átirányítja ezt a könyvtárlistát ide. egy „lsl.txt” nevű szövegfájl, amely a felhasználó asztalán található, konkrétan a „tecmint” könyvtárban.

ls -l /home/$USER > /home/$USER/Desktop/tecmint/lsl.txt
cat lsl.txt

Most példákat fogunk megvizsgálni a tartalom rendezésére az alapértelmezett kezdő karakterektől eltérő mezők alapján.

7. A „Fájltartalom rendezése a második mező alapján”.

A következő paranccsal rendezheti az „lsl.txt” fájl tartalmát az egyes sorok második mezőjében lévő értékek alapján. A '-n' opció numerikus rendezést jelez, a második mezőt számok helyett szövegként kezeli.

A '-k2' opció megadja, hogy a második mező alapján szeretnénk rendezni. A parancs végrehajtásával megkapja az „lsl.txt” sorainak rendezett listáját, ahol a rendezési feltételek az egyes sorok második mezőjében található számértékek.

sort -nk2 lsl.txt

8. Fájltartalom rendezése a Kilencedik mező alapján

A következő paranccsal rendezheti a sorokat az „lsl.txt” fájlban az egyes sorok kilencedik mezőjében lévő értékek alapján, növekvő sorrendben. A '-k9' opció megadja, hogy a rendezést a kilencedik mező alapján kell elvégezni.

sort -k9 lsl.txt

9. Fájlok rendezése fájlméret szerint

A következő parancs az 'ls' és 'sort' parancsokat kombinálja, hogy a felhasználó kezdőkönyvtárának tartalmát hosszú listázási formátumban listázza ki, majd a könyvtárlistát a következőre továbbítja: 'sort -nk5', amely a fájlméreteket jelző ötödik oszlop értékei alapján rendezi a listát.

ls -l /home/$USER | sort -nk5

10. Ismétlődő sorok eltávolítása a fájlból

A következő parancs növekvő ábécé sorrendbe rendezi a „tecmint.txt” fájl sorait, és eltávolítja az ismétlődő sorokat a '-u' kapcsolóval, amely a következőt jelenti: „egyedi”, és ez biztosítja, hogy az egyedi sorok megmaradjanak a rendezett kimenetben.

cat tecmint.txt
sort -u tecmint.txt

Eddigi szabályok (amit betartottunk):

  • A számokkal kezdődő sorok előnyben részesítettek a listában, és a tetején helyezkednek el, amíg másképp nem határozzuk meg (-r).
  • A kisbetűkkel kezdődő sorokat előnyben részesítjük a listában, és a lista tetején helyezkednek el, amíg másképp nem határozzuk meg (-r).
  • A tartalmak listázása a szótárban előforduló ábécék alapján történik, amíg másképp nem adjuk meg (-r).
  • A Rendezés parancs alapértelmezés szerint minden sort karakterláncként kezel, majd az ábécék szótári előfordulásától függően rendezi (előnyösen a számokat; lásd az 1-es szabályt), amíg másképp nem határozzuk meg.

11. A könyvtárlista átirányítása a fájlba

A következő parancs hosszú formátumban felsorolja a felhasználó kezdőkönyvtárának tartalmát, beleértve a rejtett fájlokat és könyvtárakat, majd átirányítja a könyvtárlistát egy „lsla.txt” nevű szövegfájlba, amely a felhasználó asztalán található. a „tecmint” könyvtárba.

ls -lA /home/$USER > /home/$USER/Desktop/tecmint/lsla.txt
cat lsla.txt

Az ls parancsot ismerők tudják, hogy az 'ls -lA' egyenértékű az 'ls -l' és a rejtett fájlokkal. Ennek eredményeként a két parancs tartalmának többsége ugyanaz lesz.

12. Fájlok tartalmának rendezése

A következő parancs két szövegfájl, az „lsl.txt” és az „lsla.txt” tartalmát rendezi növekvő ábécé sorrendbe, majd egyesíti és megjeleníti a rendezett tartalmat a terminál.

sort lsl.txt lsla.txt

Figyelje meg a fájlok és mappák ismétlődését.

13. Ismétlődő sorok eltávolítása a fájlból

A következő parancs két szövegfájl, az „lsl.txt” és az „lsla.txt” tartalmát egyesíti és rendezi növekvő ábécé sorrendben, miközben eltávolítja az ismétlődő sorokat a '-u' opció, amely biztosítja, hogy az egyedi sorok megmaradjanak a rendezett kimenetben.

sort -u lsl.txt lsla.txt

Figyelje meg, hogy a duplikátumok kimaradtak a kimenetből. Ezenkívül a kimenetet új fájlba mentheti átirányítással.

14. Kimenet rendezése több mező szerint egyéni elválasztó segítségével

A következő parancs az 'ls' és 'sort' parancsokat kombinálva listázza ki a felhasználó saját könyvtárának tartalmát hosszú formátumban, majd a könyvtárlistát a 'sort' parancs, amely meghatározott oszlopok és mezők alapján rendezi a kimenetet.

ls -l /home/$USER | sort -t "," -nk2,5 -k9

Íme a parancs lebontása:

  • -t "," – megadja, hogy a(z) (",") vessző legyen mezőhatároló.
  • -nk2,5 – a 2–5. oszlopban található számértékek szerinti rendezést jelzi, amelyek általában az engedélyeket és a tulajdonjogokat jelölik.
  • -k9 – tovább rendezi az eredményt a kilencedik oszlop alapján, amely a fájlméreteket jelzi.

Ez minden most. A következő cikkben részletesebb példákat mutatunk be a rendezési parancsra.

Kérjük, továbbra is osszátok meg, kommenteljetek, lájkoljatok, és segítsetek minél szélesebb közönséghez eljutni.