Ang mga bagay na dapat ayusin ay dapat na delimited sa ilang mga paraan
Ang data sa isang file na teksto ng Linux ay maaaring pinagsunod-sunod sa uri ng utos hangga't ang bawat sangkap ay binabawasan sa ilang mga paraan. Kadalasan, ang koma ay ginagamit bilang separator para sa delimited na impormasyon.
Mga Pangunahing Batas para sa Pag-uuri
Ang pag-uuri ng uri ay nagbabago ng mga linya sa isang tekstong file upang i-uri-uriin ang mga ito ayon sa bilang at ayon sa alpabeto. Ang mga default na panuntunan para sa uri ng command ay:
- Ang teksto na nagsisimula sa isang numero ay lilitaw bago ang teksto na nagsisimula sa isang liham; Ang mga mas mababang bilang ayusin muna.
- Ang teksto na nagsisimula sa isang liham na lumilitaw sa alpabeto nang mas maaga na ang unang titik ng iba pang mga entry sa teksto ay pinagsunod-sunod bago ang teksto na nagsisimula sa isang liham na lilitaw sa ibang pagkakataon sa alpabeto.
- Kung saan nagsisimula ang teksto sa mga malalaki at maliliit na pagkakataon ng parehong liham, ang unang titik ay pinagsunod-sunod muna.
Pag-uuri ng isang Text File
Upang mai-uri-uriin ang mga linya sa delimited na file ng Linux, gagamitin mo ang sort command tulad nito:
$ sort -k2 test.txtkung anong uri ang file na "test.txt" ayon sa mga character na nagsisimula sa ikalawang haligi (k2 ay tumutukoy sa pangalawang haligi). Ipagpapalagay na ang input file na nilalaman ay:
1, Justin Timberlake, Pamagat 545, Presyo $ 7.30 2, Taylor Swift, Pamagat 723, Presyo $ 7.90 3, Mick Jagger, Pamagat 610, Presyo $ 7.90 4, Lady Gaga, Pamagat 118, Presyo $ 7.30 5, Johnny Cash, Pamagat 482, Presyo $ 6.50 6, Elvis Presley, Pamagat 335, Presyo $ 7.30 7, John Lennon, Pamagat 271, Presyo $ 7.90 8, Michael Jackson, Pamagat 373, Presyo $ 5.50Dahil ang pangalawang haligi sa halimbawang ito ay naglalaman ng una at huling mga pangalan, ang inayos na output ay isinaayos ng unang titik ng unang pangalan ng bawat indibidwal sa pangalawang haligi-Elvis, John, Johnny, Justin, Lady, Michael, Mick, at Taylor , tulad ng ipinapakita sa ibaba:
6, Elvis Presley, Pamagat 335, Presyo $ 6.30 7, John Lennon, Pamagat 271, Presyo $ 7.90 5, Johnny Cash, Pamagat 482, Presyo $ 6.50 1, Justin Timberlake, Pamagat 545, Presyo $ 6.30 4, Lady Gaga, Pamagat 118, Presyo $ 6.30 8, Michael Jackson, Pamagat 373, Presyo $ 5.50 3, Mick Jagger, Pamagat 610, Presyo $ 7.90 2, Taylor Swift, Pamagat 723, Presyo $ 7.90Kung isinasaayos mo ang file na may -k3 (gamit ang mga nilalaman ng linya na nagsisimula sa haligi 3-ang haligi ng Title number), ang output ay:
4, Lady Gaga, Pamagat 118, Presyo $ 6.30 7, John Lennon, Pamagat 271, Presyo $ 7.90 6, Elvis Presley, Pamagat 335, Presyo $ 6.30 8, Michael Jackson, Pamagat 373, Presyo $ 5.50 5, Johnny Cash, Pamagat 482, Presyo $ 6.50 1, Justin Timberlake, Titulo 545, Presyo $ 6.30 3, Mick Jagger, Pamagat 610, Presyo $ 7.90 2, Taylor Swift, Pamagat 723, Presyo $ 7.90at
$ sort -k4 test.txtGumagawa ng listahan na pinagsunod-sunod ayon sa presyo:
8, Michael Jackson, Pamagat 373, Presyo $ 5.50 1, Justin Timberlake, Pamagat 545, Presyo $ 6.30 4, Lady Gaga, Pamagat 118, Presyo $ 6.30 6, Elvis Presley, Pamagat 335, Presyo $ 6.30 5, Johnny Cash, Pamagat 482, Presyo $ 6.50 2, Taylor Swift, Pamagat 723, Presyo $ 7.90 3, Mick Jagger, Pamagat 610, Presyo $ 7.90 7, John Lennon, Pamagat 271, Presyo $ 7.90Pagbabaligtad ng Pag-uuri
Binabago ng pagpipilian -r ang pag-uuri. Halimbawa, gamit ang mga resulta sa itaas:
$ sort -k4 -r test.txtmagbubunga:
7, John Lennon, Pamagat 271, Presyo $ 7.90 3, Mick Jagger, Pamagat 610, Presyo $ 7.90 2, Taylor Swift, Pamagat 723, Presyo $ 7.90 5, Johnny Cash, Pamagat 482, Presyo $ 6.50 6, Elvis Presley, Pamagat 335, Presyo $ 6.30 4, Lady Gaga, Pamagat 118, Presyo $ 6.30 1, Justin Timberlake, Pamagat 545, Presyo $ 6.30 8, Michael Jackson, Pamagat 373, Presyo $ 5.50Sine-save ang isang File na Inayos
Ang pag-aayos ng isang file ay hindi i-save ito. Upang i-save ang pinagsunod-sunod na listahan sa isang file, gagamitin mo ang redirect operator:
sort -k4 -r test.txt> test_new.txtkung saan ang "test_new.txt" ay ang bagong file.
Pag-aayos ng Stream Output
Maaari mo ring ilapat ang uri ng command sa output ng isang stream, tulad ng operator ng pipe:
$ ls -al | uri -r -n -k5Ito ang uri ng output ng listahan ng file na nabuo sa pamamagitan ng command ng ls sa pamamagitan ng sukat ng file, na nagsisimula sa mga pinakamalaking file. Tinutukoy ng operator ng -n ang numerong pag-uuri sa halip na alpabeto.