Rhaid delimio eitemau i'w datrys mewn rhyw ffordd
Gellir datrys data mewn ffeil testun Linux gyda'r gorchymyn didoli cyn belled â bod pob elfen wedi'i ddileu mewn rhyw ffordd. Yn aml, defnyddir y coma fel y gwahanydd ar gyfer gwybodaeth wedi'i ddileu.
Rheolau Sylfaenol ar gyfer Trefnu
Mae'r gorchymyn didoli yn ailgyfeirio'r llinellau mewn ffeil testun i'w didoli yn rhifol ac yn nhrefn yr wyddor. Y rheolau rhagosodedig ar gyfer y gorchymyn didoli yw:
- Ymddengys y testun sy'n dechrau gyda rhif cyn y testun sy'n dechrau gyda llythyr; niferoedd isaf yn cael eu trefnu'n gyntaf
- Testun sy'n dechrau gyda llythyr sy'n ymddangos yn yr wyddor yn gynharach bod y llythyr cyntaf o gofnodion testun arall wedi'i didoli cyn testun sy'n dechrau gyda llythyr sy'n ymddangos yn ddiweddarach yn yr wyddor.
- Pan fo'r testun yn dechrau gydag enghreifftiau uchaf a lleiafrif yr un llythyr, mae'r achos lleiaf yn cael ei didoli yn gyntaf.
Trefnu Ffeil Testun
Er mwyn datrys y llinellau mewn ffeil Linux wedi'i ddileu, rydych chi'n defnyddio'r gorchymyn didoli fel hyn:
$ sort -k2 test.txtsy'n trefnu'r ffeil "test.txt" yn ôl y cymeriadau sy'n dechrau yn yr ail golofn (mae k2 yn cyfeirio at yr ail golofn). Gan dybio cynnwys y ffeil mewnbwn yw:
1, Justin Timberlake, Teitl 545, Pris $ 7.30 2, Taylor Swift, Teitl 723, Pris $ 7.90 3, Mick Jagger, Teitl 610, Pris $ 7.90 4, Lady Gaga, Teitl 118, Pris $ 7.30 5, Johnny Cash, Teitl 482, Pris $ 6.50 6, Elvis Presley, Teitl 335, Pris $ 7.30 7, John Lennon, Teitl 271, Pris $ 7.90 8, Michael Jackson, Teitl 373, Pris $ 5.50Gan fod yr ail golofn yn yr enghraifft hon yn cynnwys enwau cyntaf ac olaf, trefnir yr allbwn wedi'i didoli gan lythyr cyntaf enw cyntaf pob unigolyn yn yr ail golofn - Elvis, John, Johnny, Justin, Lady, Michael, Mick, a Taylor , fel y dangosir isod:
6, Elvis Presley, Teitl 335, Pris $ 6.30 7, John Lennon, Teitl 271, Pris $ 7.90 5, Johnny Cash, Teitl 482, Pris $ 6.50 1, Justin Timberlake, Teitl 545, Pris $ 6.30 4, Lady Gaga, Teitl 118, Pris $ 6.30 8, Michael Jackson, Teitl 373, Pris $ 5.50 3, Mick Jagger, Teitl 610, Pris $ 7.90 2, Taylor Swift, Teitl 723, Pris $ 7.90Os ydych chi'n didoli'r ffeil gyda -k3 (gan ddefnyddio'r cynnwys llinell sy'n dechrau yng ngholofn 3-y golofn rhif Teitl), yr allbwn yw:
4, Lady Gaga, Teitl 118, Pris $ 6.30 7, John Lennon, Teitl 271, Pris $ 7.90 6, Elvis Presley, Teitl 335, Pris $ 6.30 8, Michael Jackson, Teitl 373, Pris $ 5.50 5, Johnny Cash, Teitl 482, Pris $ 6.50 1, Justin Timberlake, Teitl 545, Pris $ 6.30 3, Mick Jagger, Teitl 610, Pris $ 7.90 2, Taylor Swift, Teitl 723, Pris $ 7.90a
$ sort -k4 test.txtyn cynhyrchu rhestr wedi'i didoli fesul pris:
8, Michael Jackson, Teitl 373, Pris $ 5.50 1, Justin Timberlake, Teitl 545, Pris $ 6.30 4, Lady Gaga, Teitl 118, Pris $ 6.30 6, Elvis Presley, Teitl 335, Pris $ 6.30 5, Johnny Cash, Teitl 482, Pris $ 6.50 2, Taylor Swift, Teitl 723, Pris $ 7.90 3, Mick Jagger, Teitl 610, Pris $ 7.90 7, John Lennon, Teitl 271, Pris $ 7.90Adfywio Trefniant
Mae'r opsiwn -r yn gwrthdroi'r didoli. Er enghraifft, gan ddefnyddio'r canlyniadau uchod:
$ sort -k4 -r test.txtcynnyrch:
7, John Lennon, Teitl 271, Pris $ 7.90 3, Mick Jagger, Teitl 610, Pris $ 7.90 2, Taylor Swift, Teitl 723, Pris $ 7.90 5, Johnny Cash, Teitl 482, Pris $ 6.50 6, Elvis Presley, Teitl 335, Pris $ 6.30 4, Lady Gaga, Teitl 118, Pris $ 6.30 1, Justin Timberlake, Teitl 545, Pris $ 6.30 8, Michael Jackson, Teitl 373, Pris $ 5.50Arbed Ffeil wedi'i Didoli
Nid yw didoli ffeil yn ei arbed. Er mwyn achub y rhestr ddethol mewn ffeil, rydych chi'n defnyddio'r gweithredydd ailgyfeirio:
sort -k4 -r test.txt> test_new.txtlle "test_new.txt" yw'r ffeil newydd.
Didoli Allbwn Symud
Gallwch hefyd ddefnyddio'r gorchymyn didoli i allbwn nant, fel y gweithredydd pibell:
$ ls -a | didoli -r -n -k5Mae hyn yn manylu allbwn y rhestr ffeiliau a gynhyrchwyd gan y gorchymyn ls trwy faint ffeil, gan ddechrau gyda'r ffeiliau mwyaf. Mae'r gweithredydd -n yn pennu didoli rhifol yn hytrach nag yn wyddor.