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.