14 exemples útils de l'ordre d'ordenació de Linux - Part 1


Sort és un programa Linux que s'utilitza per imprimir línies de fitxers de text d'entrada i concatenar tots els fitxers en ordre ordenat. L'ordre d'ordenació ocupa un espai en blanc com a separador de camps i el fitxer d'entrada sencer com a clau d'ordenació. És important tenir en compte que l'ordre d'ordenació no ordena els fitxers, sinó que només imprimeix la sortida ordenada, fins que redirigeu la sortida.

Aquest article té com a objectiu una visió profunda de l'ordre ordenar de Linux amb 14 exemples pràctics útils que us mostraran com utilitzar l'ordre d'ordenació a Linux.

1. Primer crearem un fitxer de text (tecmint.txt) per executar exemples d'ordres ordenar. El nostre directori de treball és '/home/$USER/Desktop/tecmint.

L'opció -e de l'ordre següent permet la interpretació de la barra invertida i/n diu a echo que escrigui cada cadena en una línia nova.

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

2. Abans de començar amb ordenar, fem una ullada al contingut del fitxer i la seva aparença.

$ cat tecmint.txt

3. Ara ordena el contingut del fitxer utilitzant la següent comanda.

$ sort tecmint.txt

Nota: l'ordre anterior en realitat no ordena el contingut del fitxer de text, sinó que només mostra la sortida ordenada al terminal.

4. Ordena el contingut del fitxer 'tecmint.txt' i escriu-lo en un fitxer anomenat (sorted.txt) i verifica el contingut mitjançant l'ordre cat.

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

5. Ara ordena el contingut del fitxer de text tecmint.txt en ordre invers mitjançant l'interruptor -r i redirigeix la sortida a un fitxer reversesorted.txt. Comproveu també la llista de contingut del fitxer creat recentment.

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

6. Anem a crear un fitxer nou (lsl.txt) a la mateixa ubicació per obtenir exemples detallats i l'omplirem amb la sortida de 'ls -l' per al vostre directori d'inici.

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

Ara veurem exemples per ordenar el contingut en funció d'un altre camp i no dels caràcters inicials predeterminats.

7. Ordena el contingut del fitxer 'lsl.txt' sobre la base de la segona columna (que representa el nombre d'enllaços simbòlics).

$ sort -nk2 lsl.txt

Nota: L'opció '-n' de l'exemple anterior ordena el contingut numèricament. L'opció '-n' s'ha d'utilitzar quan volem ordenar un fitxer a partir d'una columna que contingui valors numèrics.

8. Ordena el contingut del fitxer 'lsl.txt' a partir de la 9a columna (que és el nom dels fitxers i carpetes i no és numèric).

$ sort -k9 lsl.txt

9. No sempre és essencial executar l'ordre d'ordenació en un fitxer. Podem canalitzar-lo directament al terminal amb una comanda real.

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

10. Ordena i elimina els duplicats del fitxer de text tecmint.txt. Comproveu si el duplicat s'ha eliminat o no.

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

Normes fins ara (el que hem observat):

  1. Les línies que comencen amb números són preferides a la llista i es troben a la part superior fins que s'especifiqui el contrari (-r).
  2. Les línies que comencen amb lletres minúscules són preferides a la llista i es troben a la part superior fins que s'especifiqui el contrari (-r).
  3. Els continguts s'enumeren en funció de l'aparició d'alfabets al diccionari fins que s'especifiqui el contrari (-r).
  4. L'ordre d'ordenació per defecte tracta cada línia com a cadena i després ordena-la en funció de l'aparició d'alfabets al diccionari (preferint numèrics; vegeu la regla – 1) fins que s'especifiqui el contrari.

11. Creeu un tercer fitxer 'lsla.txt' a la ubicació actual i ompliu-lo amb la sortida de l'ordre 'ls -lA'.

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

Els que entenguin l'ordre ls saben que ls -lA = ls -l + fitxers ocults. Així que la majoria del contingut d'aquests dos fitxers seria el mateix.

12. Ordena el contingut de dos fitxers en una sortida estàndard d'una vegada.

$ sort lsl.txt lsla.txt

Observeu la repetició d'arxius i carpetes.

13. Ara podem veure com ordenar, combinar i eliminar duplicats d'aquests dos fitxers.

$ sort -u lsl.txt lsla.txt

Tingueu en compte que els duplicats s'han omès de la sortida. A més, podeu escriure la sortida en un fitxer nou redirigint la sortida a un fitxer.

14. També podem ordenar el contingut d'un fitxer o la sortida en funció de més d'una columna. Ordena la sortida de l'ordre 'ls -l' en funció del camp 2,5 (numèric) i 9 (no numèric).

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

Això és tot per ara. Al següent article us explicarem alguns exemples més d'ordre ordenar en detall. Fins aleshores estigueu atents i connectats a Tecmint. Continua compartint. Continua comentant. Fes m'agrada i comparteix-nos i ajuda'ns a difondre'ns.

Llegiu també: 7 exemples interessants d'ordres ordenar de Linux - Part 2