14 Nëtzlech Beispiller vu Linux Sort Command - Deel 1


Sort ass e Linux Programm benotzt fir Zeilen vun Input Textdateien ze drécken an d'Verbindung vun all Dateien an zortéierter Uerdnung. Sort Kommando hëlt eidel Plaz als Feld Separator a ganz Input Datei als Sort Key. Et ass wichteg ze bemierken datt de Sortbefehl d'Dateien net tatsächlech sortéiert, awer nëmmen déi zortéiert Ausgab dréckt, bis Dir d'Ausgab ëmgeleet.

Dësen Artikel zielt op déif Asiicht vum Linux 'Sort' Kommando mat 14 nëtzlech praktesch Beispiller déi Iech weisen wéi Dir Sort Kommando am Linux benotzt.

1. Als éischt wäerte mir eng Textdatei erstellen (tecmint.txt) fir 'Sort' Kommandobeispiller auszeféieren. Eis Aarbechtsverzeechnes ass '/home/$USER/Desktop/tecmint.

D'Optioun '-e' am Kommando ënnen erlaabt d'Interpretatioun vum Backslash an/n erzielt Echo fir all String op eng nei Zeil ze schreiwen.

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

2. Ier mer mat 'sortéieren' ufänken, kucke mer den Inhalt vun der Datei a wéi et ausgesäit.

$ cat tecmint.txt

3. Elo sortéiert den Inhalt vun der Datei mat de folgende Kommando.

$ sort tecmint.txt

Notiz: Deen uewe genannte Kommando sortéiert net den Inhalt vun der Textdatei, awer weist nëmmen déi zortéiert Ausgab um Terminal.

4. Sortéiert d'Inhalter vun der Datei 'tecmint.txt' a schreift se op eng Datei genannt (sorted.txt) a verifizéieren den Inhalt andeems Dir Cat Kommando benotzt.

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

5. Sortéiert elo den Inhalt vun der Textdatei 'tecmint.txt'an ëmgedréint Uerdnung andeems Dir '-r' Schalter benotzt a Viruleedung vun der Ausgang op eng Datei 'reversesorted.txt'. Kuckt och d'Inhaltsoplëschtung vun der nei erstallt Datei.

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

6. Mir erstellen eng nei Datei (lsl.txt) op der selwechter Plaz fir detailléiert Beispiller a populéieren se mat der Ausgang vun 'ls -l' fir Ären Heemverzeechnes.

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

Elo gesitt Beispiller fir den Inhalt op Basis vun engem anere Feld ze sortéieren an net déi Standard initial Zeechen.

7. Sortéiert den Inhalt vun der Datei 'lsl.txt' op der Basis vun der 2. Kolonn (wat d'Zuel vu symbolesche Linken duerstellt).

$ sort -nk2 lsl.txt

Notiz: D'Optioun '-n' am uewe genannte Beispill sortéiert den Inhalt numeresch. D'Optioun '-n' muss benotzt ginn wa mir e Fichier wollten sortéieren op Basis vun enger Kolonn déi numeresch Wäerter enthält.

8. Sortéiert den Inhalt vun der Datei 'lsl.txt' op der Basis vun der 9. Kolonn (wat den Numm vun de Fichieren an Ordner ass an net numeresch ass).

$ sort -k9 lsl.txt

9. Et ass net ëmmer essentiell fir Sort Kommando op enger Datei ze lafen. Mir kënnen et direkt um Terminal mam aktuellen Kommando pipeline.

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

10. Zortéieren an ewechzehuelen Duplikate aus dem Text Fichier tecmint.txt. Kontrolléiert ob d'Duplikat geläscht gouf oder net.

$ cat tecmint.txt
$ sort -u tecmint.txt

Regele bis elo (wat mir observéiert hunn):

  1. Linnen, déi mat Zuelen ufänken, gi léiwer an der Lëscht a leien uewen bis anescht uginn (-r).
  2. Linnen, déi mat klenge Buschtawen ufänken, ginn an der Lëscht bevorzugt a leien uewen bis anescht uginn (-r).
  3. Inhalter ginn op Basis vun der Optriede vun Alphabeten am Wierderbuch opgelëscht bis anescht uginn (-r).
  4. Sortéiert Kommando als Standard behandelt all Zeil als String an sortéiert se dann ofhängeg vum Wierderbuch Optriede vun Alphabeten (Numeresch bevorzugt; kuckt Regel - 1) bis anescht uginn.

11. Erstellt eng drëtt Datei 'lsla.txt'op der aktueller Plaz a populéiert se mat der Ausgab vum 'ls -lA' Kommando.

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

Déi, déi vum 'ls' Kommando verstoen, wëssen datt 'ls -lA' = 'ls -l' + Hidden Dateien. Also de gréissten Deel vum Inhalt op dësen zwee Dateien wier d'selwecht.

12. Sortéiert den Inhalt vun zwee Dateien op Standardausgang an engem Go.

$ sort lsl.txt lsla.txt

Notéiert d'Widderhuelung vu Dateien an Ordner.

13. Elo kënne mir kucken wéi Dir Duplikate vun dësen zwee Dateien sortéiert, fusionéiert an ewechhuelt.

$ sort -u lsl.txt lsla.txt

Notéiert datt Duplikaten aus der Ausgab ewechgelooss goufen. Dir kënnt och d'Ausgab op eng nei Datei schreiwen andeems Dir den Ausgang op eng Datei ëmgeleet.

14. Mir kënnen och den Inhalt vun enger Datei sortéieren oder d'Ausgab op Basis vu méi wéi enger Kolonn. Sortéiert d'Ausgab vum 'ls -l' Kommando op Basis vum Feld 2,5 (Numeresch) an 9 (Net-Numeresch).

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

Dat ass alles fir elo. Am nächsten Artikel wäerte mir e puer méi Beispiller vum 'Sort' Kommando am Detail fir Iech ofdecken. Bis dann bleift ofgeschloss a verbonne mat Tecmint. Weider deelen. Kommentéieren weider. Like an deelt eis an hëlleft eis ze verbreeden.

Liest och: 7 Interessant Linux 'Zort' Kommando Beispiller - Deel 2