Ang mga butang nga kinahanglan isunodon kinahanglanon sa usa ka paagi
Ang datos sa usa ka file sa teksto sa Linux mahimong isunod sa matang nga mando basta ang matag elemento mapugngan sa usa ka paagi. Kasagaran, ang comma gigamit ingon nga separator alang sa delimited nga impormasyon.
Basic Rules for Sorting
Ang matang nga command nag-usab sa mga linya diha sa usa ka file sa teksto aron sa pag-sunod niini sa numerikal ug alpabeto. Ang default rules alang sa sort command mao ang:
- Ang teksto nga nagsugod sa usa ka numero makita sa atubangan sa teksto nga nagsugod sa usa ka sulat; Ang mga ubos nga mga numero mag-una.
- Ang sinulat nga nagsugod sa usa ka letra nga makita sa alpabeto sa sayo pa nga ang unang letra sa ubang mga sinulat sa teksto gisulat sa atubangan sa teksto nga nagsugod sa usa ka letra nga makita sa ulahi sa alpabeto.
- Kon diin nagsugod ang teksto sa mga uppercase ug lowercase nga mga pananglitan sa samang letra, ang sulud nga panid gibutang sa una.
Pagpahimutang sa usa ka File sa Teksto
Aron masabtan ang mga linya sa delimited Linux file, imong gamiton ang sort command sama niini:
$ sort -k2 test.txtnga nag-ingon ang file "test.txt" sumala sa mga karakter nga magsugod sa ikaduhang kolum (k2 nagpasabut sa ikaduhang kolum). Pag-asumer sa input file content mao ang:
1, Justin Timberlake, Titulo 545, Presyo $ 7.30 2, Taylor Swift, Titulo 723, Presyo $ 7.90 3, Mick Jagger, Titulo 610, Presyo $ 7.90 4, Lady Gaga, Titulo 118, Presyo $ 7.30 5, Johnny Cash, Title 482, Presyo $ 6.50 6, Elvis Presley, Titulo 335, Presyo $ 7.30 7, John Lennon, Titulo 271, Presyo $ 7.90 8, Michael Jackson, Titulo 373, Presyo $ 5.50Tungod kay ang ikaduha nga kolum niini nga panig-ingnan naglangkob sa una ug katapusang mga ngalan, ang gihan-ay nga output gihikay sa unang letra sa unang ngalan sa matag indibidwal sa ikaduhang kolum-Elvis, John, Johnny, Justin, Lady, Michael, Mick, ug Taylor , sama sa gipakita sa ubos:
6, Elvis Presley, Titulo 335, Presyo $ 6.30 7, John Lennon, Titulo 271, Presyo $ 7.90 5, Johnny Cash, Titulo 482, Presyo $ 6.50 1, Justin Timberlake, Titulo 545, Presyo $ 6.30 4, Lady Gaga, Titulo 118, Presyo $ 6.30 8, Michael Jackson, Titulo 373, Presyo $ 5.50 3, Mick Jagger, Titulo 610, Presyo $ 7.90 2, Taylor Swift, Titulo 723, Presyo $ 7.90Kon imong isukip ang file gamit ang -k3 (gamit ang sulod sa linya nagsugod sa kolum 3-ang kantidad sa numero sa Title), ang output mao ang:
4, Lady Gaga, Titulo 118, Presyo $ 6.30 7, John Lennon, Titulo 271, Presyo $ 7.90 6, Elvis Presley, Titulo 335, Presyo $ 6.30 8, Michael Jackson, Titulo 373, Presyo $ 5.50 5, Johnny Cash, Titulo 482, Presyo $ 6.50 1, Justin Timberlake, Titulo 545, Presyo $ 6.30 3, Mick Jagger, Titulo 610, Presyo $ 7.90 2, Taylor Swift, Titulo 723, Presyo $ 7.90ug
$ sort -k4 test.txtnagahatag og usa ka lista nga gisunod sa bili:
$ 6.30 4, Lady Gaga, Titulo 118, Presyo $ 6.30 6, Elvis Presley, Titulo 335, Presyo $ 6.30 5, Johnny Cash, Titulo 482, Presyo $ 6.50 8, Michael Jackson, Titulo 373, Presyo $ 5.50 1, Justin Timberlake, 2, Taylor Swift, Titulo 723, Presyo $ 7.90 3, Mick Jagger, Titulo 610, Presyo $ 7.90 7, John Lennon, Titulo 271, Presyo $ 7.90Pagbalibad sa usa ka matang
Ang -r nga kapilian nagbali sa pagkahan-ay. Pananglitan, gamit ang mga resulta sa ibabaw:
$ sort -k4 -r test.txtabot:
7, John Lennon, Titulo 271, Presyo $ 7.90 3, Mick Jagger, Titulo 610, Presyo $ 7.90 2, Taylor Swift, Titulo 723, Presyo $ 7.90 5, Johnny Cash, Titulo 482, Presyo $ 6.50 6, Elvis Presley, Titulo 335, Presyo $ 6.30 4, Lady Gaga, Titulo 118, Presyo $ 6.30 1, Justin Timberlake, Titulo 545, Presyo $ 6.30 8, Michael Jackson, Titulo 373, Presyo $ 5.50Pagluwas sa usa ka File nga Gihan-ay
Ang pagklasipikar sa usa ka file dili makaluwas niini. Aron maluwas ang gi-lista nga listahan sa usa ka file, imong gamiton ang redirect operator:
matang -k4 -r test.txt> test_new.txtdiin ang "test_new.txt" mao ang bag-ong file.
Pag-sort sa usa ka Stream Output
Mahimo usab nimo i-apply ang matang nga command sa output sa usa ka sapa, sama sa pipe operator:
$ ls -al | matang -r -n -k5Kini nag-ingon sa output sa file listing nga gimugna sa ls command pinaagi sa file size, nagsugod sa kinadak-ang mga file. Ang -n operator nagpakita sa numeric sorting kay sa alpabetiko.