Gebruik van die Linux Sort Command

Items wat gesorteer moet word, moet op een of ander manier geskei word

Data in 'n Linux-tekslêer kan gesorteer word met die sorteeropdrag solank elke element op een of ander manier geskei is. Dikwels word die komma as skeiding vir afgeleide inligting gebruik.

Basiese reëls vir sortering

Die soort opdrag herrangskik die lyne in 'n tekslêer om hulle numeries en alfabeties te sorteer. Die standaard reëls vir die sorteer opdrag is:

Sorteer 'n tekslêer

Om die lyne in 'n afgeleide Linux-lêer te sorteer, gebruik jy die soort opdrag soos volg:

$ sort-k2 test.txt

wat die lêer "test.txt" sorteer volgens die karakters wat by die tweede kolom begin (k2 verwys na die tweede kolom). Gestel die inhoud van die insette lêer is:

1, Justin Timberlake, Titel 545, Prys $ 7,30 2, Taylor Swift, Titel 723, Prys $ 7.90 3, Mick Jagger, Titel 610, Prys $ 7.90 4, Lady Gaga, Titel 118, Prys $ 7.30 5, Johnny Cash, Titel 482, Prys $ 6.50 6, Elvis Presley, Titel 335, Prys $ 7,30 7, John Lennon, Titel 271, Prys $ 7.90 8, Michael Jackson, Titel 373, Prys $ 5.50

Omdat die tweede kolom in hierdie voorbeeld voor- en achtername bevat, word die gesorteerde uitset gerangskik volgens die eerste letter van die voornaam van elke individu in die tweede kolom-Elvis, John, Johnny, Justin, Lady, Michael, Mick en Taylor. , soos hieronder getoon:

6, Elvis Presley, Titel 335, Prys $ 6,30 7, John Lennon, Titel 271, Prys $ 7.90 5, Johnny Cash, Titel 482, Prys $ 6.50 1, Justin Timberlake, Titel 545, Prys $ 6.30 4, Lady Gaga, Titel 118, Prys $ 6.30 8, Michael Jackson, Titel 373, Prys $ 5.50 3, Mick Jagger, Titel 610, Prys $ 7.90 2, Taylor Swift, Titel 723, Prys $ 7.90

As jy die lêer sorteer met -k3 (met die lyninhoud wat begin by kolom 3 - die titelnommer kolom), is die uitset:

4, Lady Gaga, Titel 118, Prys $ 6,30 7, John Lennon, Titel 271, Prys $ 7.90 6, Elvis Presley, Titel 335, Prys $ 6.30 8, Michael Jackson, Titel 373, Prys $ 5.50 5, Johnny Cash, Titel 482, Prys $ 6.50 1, Justin Timberlake, Titel 545, Prys $ 6,30 3, Mick Jagger, Titel 610, Prys $ 7.90 2, Taylor Swift, Titel 723, Prys $ 7.90

en

$ sort-k4 test.txt

produseer 'n lys gesorteer volgens prys:

8, Michael Jackson, Titel 373, Prys $ 5.50 1, Justin Timberlake, Titel 545, Prys $ 6,30 4, Lady Gaga, Titel 118, Prys $ 6,30 6, Elvis Presley, Titel 335, Prys $ 6,30 5, Johnny Cash, Titel 482, Prys $ 6.50 2, Taylor Swift, Titel 723, Prys $ 7.90 3, Mick Jagger, Titel 610, Prys $ 7.90 7, John Lennon, Titel 271, Prys $ 7.90

Omkering van 'n sortering

Die -r opsie omkeer die sorteer. Byvoorbeeld, gebruik die bogenoemde resultate:

$ sort-k4 -r test.txt

opbrengste:

7, John Lennon, Titel 271, Prys $ 7.90 3, Mick Jagger, Titel 610, Prys $ 7.90 2, Taylor Swift, Titel 723, Prys $ 7.90 5, Johnny Cash, Titel 482, Prys $ 6.50 6, Elvis Presley, Titel 335, Prys $ 6.30 4, Lady Gaga, Titel 118, Prys $ 6,30 1, Justin Timberlake, Titel 545, Prys $ 6.30 8, Michael Jackson, Titel 373, Prys $ 5.50

'N gesorteerde lêer stoor

Om 'n lêer te sorteer, stoor dit nie. Om die gesorteerde lys in 'n lêer te stoor, gebruik jy die herlei-operateur:

sorteer -k4 -r test.txt> test_new.txt

waar "test_new.txt" die nuwe lêer is.

Sorteer 'n stroomuitset

U kan ook die soort opdrag toepas op die uitvoer van 'n stroom, soos die pyp operateur:

$ ls -al | sorteer -r -n-k5

Dit sorteer die uitvoer van die lêerlys wat gegenereer word deur die ls- opdrag volgens lêergrootte, wat begin met grootste lêers. Die -n operateur spesifiseer numeriese sorteer eerder as alfabetiese.