Naudodami rūšiavimą, galite užsisakyti failus pagal žodyno tvarką arba pagal skaitinę vertę, atsitiktinai parinkdami failų eilutes, pašalindami pasikartojančias eilutes ir patikrindami, ar failas yra rūšiuojamas.
Gali būti, kad galėsite atlikti kitus dalykus, bet pirmiausia susirūpinkime, ar apvyniosime galvą, kaip naudoti rūšiavimą „bash“ scenarijuose.
Kas yra rūšis?
Rūšiuoti yra išorinė komanda, kuri sujungia failus, rūšiuodama jų turinį pagal rūšiavimo tipą, o rūšiavimo rezultatus rašo į standartinę išvestį.
Rūšiuoti komandos parinktis bash
Rūšiavimo komandoje yra 31 parinktis (13 pagrindinės ir 18 kategorijos kaip kitos). Labiausiai patyręs „bash“ programavimas (net ekspertai) žino tik keletą pagrindinių rūšiavimo variantų, reikalingų norint išsiversti. Kitus retai paliečia. Jums pasisekė, mes turime laiko juos visus paliesti.
Pagrindinės rūšiavimo parinktys
Tai yra parinktys, kurios padeda atlikti darbus ir rūšiuoti (rūšiavimas), be to, kad prieš rūšiuojant būtų galima tvarkyti rūšiuojamus rezultatus (po apdorojimo) ir taikyti filtrus (filtrus).
Rūšiavimas
Rūšiuoti galima su 5 skirtingais rūšiavimo būdais. Čia yra lentelė, rodanti kiekvieną rūšiavimo tipą ir susijusias parinktis.
Rūšiuoti | Trumpas variantas / ilgas pasirinkimas / kt žodis |
Skaitmeninis rūšiavimas (bendras) | -g / -bendrasis-skaitmeninis-rūšiuoti bendrasis-skaitinis parama moksliniam užrašymui 0.1234e4 = 1234 |
Skaitmeninis rūšiavimas (žmogus) | -h / -žmogaus-skaitinio-rūšiavimo žmogiškas-skaitinis 1.234K = 1234 |
Skaitmeninis | -n / -skaitinis-rūšiuoti skaitinis … < -1 < 0 < 1 <… |
Mėnuo | -M / mėn. Rūšiuoti mėnesį Nežinoma < Jan < Feb <… < Nov < Dec |
Atsitiktinis | -r / atsitiktinis rūšiavimas atsitiktinis |
Versija | -V / -versija-rūšiuoti versija |
Atminkite, kad kiekvieno rūšiavimo rūšis turi ilgą parinktį, besibaigiantį rūšiuoti. Be tam tikrų rūšiavimo parinkčių, rūšiavimui pagal žodį gali būti naudojama parinktis -sort = WORD. Pavyzdžiui, -sort = random gali būti naudojamas vietoje -random-sort arba -r.
Pavyzdžiai
Čia yra keletas rūšiavimo komandų pavyzdžių kiekvienam rūšiavimo metodui.
Pavyzdys) Vardų rūšiavimas
Rūšiuoti nėra problemų rūšiuojant eilutes abėcėlės tvarka. Apsvarstykite nerūšiuotų žinomų žmonių sąrašą.
Funkcija
Įžymūs žmonės()garbanos - tylus https: // www.biografija internete.netas / zmones / garsus-100.HTML
| grep post-content | sed -e's /<[^>] *.// g '-e' s / II pasaulinis pasaulis // g '-e' s / \ (Wilbur \)
/ \ 1 Wright / '| grep -o -e '\ (\ ([A-Z] \ + [.] \?\) \ + [a-z] * \ s \) \ + ([0-9] \ + \ s [^)] \+."
Komandinė eilutė
garsūs žmonės | rūšiuotiRezultatas
Stephenas Kingas (1947 -)Steve'as Jobsas (1955 - 2012)
Stingas (1951 -)
Tigras Woodsas (1975 -)
Tomas Cruise'as (1962 -)
Usainas Boltas (1986 m.)
Vinci (1452 - 1519)
Waltas Disney'as (1901 - 1966)
Wilburas Wrightas (1867 - 1912)
Woodrow Wilson (1856 - 1924)
Pavyzdys) Bendroji skaitmeninė rūšiavimas
Jei turime rūšiuoti skaitines vertes, atsižvelgdami į mokslinę notaciją, pavyzdžiui, 99e2, galime naudoti bendrą skaitinę rūšiavimą.
Funkcija
nerūšiuotos skaitinės vertės ()100 sek rūšiuoti - atsitiktinai rūšiuoti | sed '3i 9e2' | sed „3i 99K“
Apsvarstykite surūšiuotą išvestį naudodami kiekvieną metodą. Atkreipkite dėmesį, kad sąraše yra ne tik vertės nuo 1 iki 100, bet ir „9e12“ (900) ir „99K“ (99000).
Komandinė eilutė
nerūšiuotos skaitinės vertės | rūšiuoti -nRezultatas
9697
98
99
99 tūkst
100
Ką apie 900 ir 99000. Teisingai, tai tik skaitinis rūšiavimas. Kitas.
Komandinė eilutė
nerūšiuotos skaitinės vertės | rūšiuoti -hRezultatas
9697
98
99
100
99 tūkst
Ką apie 900. Teisingai, tai tik žmogiškas skaitinis rūšiavimas. Kitas.
Komandinė eilutė
nerūšiuotos skaitinės vertės | rūšiuoti -gRezultatas
9697
98
99
99 tūkst
100
9e2
Kas bus su 99000. Teisingai, tai tik bendras skaitinis rūšiavimas. Kaip matote, šiuo atveju rūšiavimo metodas nėra suderinamas; tačiau tai nereiškia, kad negalite sugalvoti.
Komandinė eilutė
nerūšiuotos skaitinės vertės | sed 's / [kK] / e3 /' | rūšiuoti -gRezultatas
9697
98
99
100
9e2
99e3
Dabar tai panašiau.
Pavyzdys) Žmogaus skaitinė rūšis
Jei turime rūšiuoti skaitines vertes, atsižvelgdami į tokių žymėjimų kaip K, G, M ir E reikšmę, galime naudoti žmogaus skaitmeninį rūšiavimą.
Komandinė eilutė
100 sek rūšiuoti - atsitiktinai rūšiuoti | sed '3i 3k' | rūšiuoti -hRezultatas
9697
98
99
100
3k
Pavyzdys) Skaitmeninis rūšiavimas
Jei viskas, ko mums reikia, yra rūšiuoti sveikus skaičius, skaitmeninis rūšiavimas daro apgaulę.
Komandinė eilutė
100 sek rūšiuoti - atsitiktinai rūšiuoti | rūšiuoti - skaitmenys - rūšiuotiRezultatas
9596
97
98
99
100
Pavyzdys) Mėnesio rūšiavimas
Mėnesio rūšiavimas leidžia užsisakyti eiles pagal mėnesį. Tai gali pasirodyti naudinga grupuojant eiles pagal mėnesį, ypač jei nėra galimybės rūšiuoti pagal laiką.
Funkcija
mėnesių ()katė <
Vasario mėn
Kovo mėn
Balandžio mėn
Gegužė
Birželio mėn
Liepos mėn
Rugpjūčio mėn
Rugsėjo mėn
Spalio mėn
Lapkritis
Gruodžio mėn
EOF
Tarkime, kad mėnesiai nėra rūšiuojami.
Komandinė eilutė
mėnesiai | rūšiuoti - atsitiktinai rūšiuotiRezultatas
Kovo mėnSpalio mėn
Gruodžio mėn
Balandžio mėn
Gegužė
Rugsėjo mėn
Rugpjūčio mėn
Lapkritis
Liepos mėn
Jan
Vasario mėn
Birželio mėn
Mes visada galime rūšiuoti pagal mėnesį.
Komandinė eilutė
mėnesiai | rūšiuoti - atsitiktinai rūšiuoti | rūšiuoti - mėnesį rūšiuotiRezultatas
JanVasario mėn
Kovo mėn
Balandžio mėn
Gegužė
Birželio mėn
Liepos mėn
Rugpjūčio mėn
Rugsėjo mėn
Spalio mėn
Lapkritis
Gruodžio mėn
Atkreipkite dėmesį, kad jei lapkričio mėnesį pakeisime „Dec“ į bet kurią eilutę, sakykime „Novem“, jis bus surūšiuotame išvestyje po.
Pavyzdys) Atsitiktinis rūšiavimas - užmuškite kieno nors kito terminalą
Kaip ir reikėjo tikėtis, atsitiktinis rūšiavimas veikia priešingai nei rūšiavimas, sumaišomos eilutės.
Tarkime, kad švietimo tikslais mes norime nužudyti kitą vartotoją. Turėtume įsitikinti, kad tai nėra mūsų pty, ir atsitiktinai parinkti sąrašus, kad jie būtų gražesni ir kad galėtume pasakyti, kad ptys buvo pasirinkti atsitiktinai.
Komandos
žinutė-pty ()vietinis pty;
pty = "$ 1"
;
echo -n "Jūs einate žemyn"> / dev / $ pty;
i i 5 4 3 2 1;
padaryti
miegoti 1;
aidas -n "$ i"> / dev / $ pty;
padaryta;
aidas „Iki!"> / dev / $ pty;
miegoti 1
ps | grep pty | grep -v -e $ (mypty) | rūšiuoti - atsitiktinai rūšiuoti | galva -1> stdin;
žinutė-pty $ (pty < stdin );
nužudyti $ (pid < stdin )
Išvestis kažkieno terminale
Jūs nusileisite per 5 4 3 2 1 Iki pasimatymo!]
(išėjimas)
Pavyzdys) Versijų rūšiavimas - rūšiavimas ips
Kaip žinote, šaltinio failai gali būti versijami naudojant tokias eilutes kaip 1.0. Be to, versijos gali būti gilesnės su versijų numeriais, pvz., 1.0.0 tokių, kurie matomi populiariose semantinių versijų schemose.
Versijų rūšiavimas leidžia rūšiuoti versijų numerius. Puiku! Kas dabar? Išbandykime.
Šiame pavyzdyje paruošiau „bash“ scenarijų, kad generuočiau atsitiktinius ips, kad mums nereikėtų ten eiti. Tai repo. Čia galite greitai pradėti tuos, kurie neturi atpirkimo.
Komandos
gito klonas https: // github.com / temptemp3 / linuxhint.com.gitpseudonimas random-ips = 'test -f "linuxhint.com / generuoti-atsitiktinius-ips.sh "; bash $ _ '
Dabar, kai būsite pasirengę, pradėkime.
Komandinė eilutė
atsitiktiniai IP 200 | tee ipsRezultatas
199.174.177.98180.33.247.107
87.130.125.109
76.86.8.20
162.41.183.150
226.58.10.196
83.121.11.145
80.199.197.19
44.214.89.52
185.174.143.111
Gerai, tai veikia. Dabar pažiūrėkime, kas atsitiks, kai bandysime surūšiuoti ips.
Komandinė eilutė
rūšiuoti ipsRezultatas
76.88.194.1578.96.11.181
82.169.213.206
84.218.132.51
84.3.101.97
87.137.131.40
87.59.32.91
89.149.111.242
97.121.162.244
98.145.130.186
Iš pirmo žvilgsnio atrodo, kad jis veikia, bet tokios linijos kaip 8.96.11.181 turėtų pasirodyti kitur.
Komandos
už o in d h n V g M
padaryti
rūšiuoti ips - $ o> ips $ o ,,
padaryta
aidas visokių vienodų skaitinių rūšiuoti
diff ips n, d 1> / dev / null || aido žodyno tvarka != skaitinis rūšiavimas
diff ips n, h 1> / dev / null || echo žmogaus skaitmeninė rūšis != skaitinis rūšiavimas
diff ips n, g 1> / dev / null || echo bendroji skaitinė rūšis != skaitinis rūšiavimas
diff ips n, v 1> / dev / null ||
aido versija rūšiuoti != skaitinis rūšiavimas
show_n_v_ips_diff = "true"
testas ! "$ show_n_v_ips_diff" || diff ips n, v
Rezultatas
visų rūšių vienodi skaitiniai rūšiuotižodyno tvarka != skaitinis rūšiavimas
versijos rūšiavimas != skaitinis rūšiavimas
13,14d12
< 44.221.43.20
< 44.27.108.172
15a14,15
> 44.27.108.172
> 44.221.43.20
27d26
< 84.218.132.51
29c28
< 87.137.131.40
Kaip matote versijų rūšiavimas, galite rūšiuoti versijų numerius, kai kiti rūšiavimo metodai nepavyksta.
Pavyzdys) Versijų rūšiavimas - failų vardų rūšiavimas su versijų numeriais
Remdamiesi paskutiniu pavyzdžiu, naudokime versijų rūšiavimą šiek tiek arčiau jo paskirties. Kaip žinote, versijų numeriai dažniausiai rodomi failų pavadinimuose. Žr. Išsamią informaciją apie versijų rūšiavimą.
Pirmiausia transformuokime ips į kitą projekto šaltinio failą.
Komandos
alfa ()alfa = "abcdefghijklmnopqrstuvwxyz";
echo -n $ alpha: $ ((RANDOM% 26)): 1
beta ()
alfa = "ab";
echo -n $ alpha: $ ((RANDOM% 2)): 1
katė ips | skaitant -r eilutė; padaryti
echo $ (alfa) -v $ line $ (testas $ ((RANDOM% 5)) -eq 0 || beta).degutas.gz;
padaryta | tee gurkšniai
Rezultatas
x-v56.16.109.54.degutas.gzk-v117.38.14.165a.degutas.gz
d-v87.59.32.91a.degutas.gz
h-v115.215.64.100.degutas.gz
s-v72.174.246.218b.degutas.gz
h-v163.93.19.173.degutas.gz
u-v184.225.11.92b.degutas.gz
y-v205.53.5.211a.degutas.gz
t-v175.196.164.17b.degutas.gz
e-v167.42.221.178b.degutas.gz
c-v126.54.190.189b.degutas.gz
b-v169.180.221.131a.degutas.gz
y-v210.125.170.231a.degutas.gz
x-v71.56.120.9b.degutas.gz
Pratimas
Leiskite aukščiau nurodytoms komandoms veikti greičiau naudojant „xargs“
Žr. Pavyzdį, kaip naudoti komandą xargs bash scenarijuose.
Šį kartą net nesivarginsime naudodami kitus rūšiavimo metodus.
Komandinė eilutė
rūšiuoti -V gurkšniusRezultatas
d-v127.100.108.192.degutas.gze-v62.140.229.42a.degutas.gz
e-v149.77.211.215a.degutas.gz
e-v167.42.221.178b.degutas.gz
e-v194.189.236.29a.degutas.gz
e-v198.145.199.84b.degutas.gz
e-v240.1.147.196b.degutas.gz
f-v50.100.142.42b.degutas.gz
f-v117.58.230.116.degutas.gz
f-v139.17.210.68b.degutas.gz
f-v153.18.145.133b.degutas.gz
g-v201.153.203.60b.degutas.gz
g-v213.58.67.108.degutas.gz
h-v5.206.37.224.degutas.gz
Dabar matote, kad versijų rūšiavimas gali būti naudingas rūšiuojant failų pavadinimus su versijų numeriais.
Iš anksto rūšiuoti
Rūšiuoti turi keturias pagrindines parinktis, turinčias įtakos faktiniam rūšiavimui, būtent: -ignore-pirmaujanti-tuščia, -ignore-case, -ignore-non-printing ir -dictionary-order, kurios gali sutapti, bet gali ir nesutapti. Stebėkite kiekvienos parinkties pavyzdį.
Rūšiuoti ignoruojant pirmaujančias tuščias vietas
Rūšiuoti leidžia ignoruoti įvesties ruošinius kaip pasirinktį. Rūšiuotoje išvestyje išsaugomi pagrindiniai ruošiniai.
Variantas
--ignoruoti ruošiniusNaudojimas
rūšiuoti - pirmaujantieji-ruošiniaiKomandos
garsūs žmonės> fpkatė >> fp << EOF
Marilyn Monroe (1926 - 1962)
Abraomas Linkolnas (1809 - 1865)
EOF
katės fp | rūšiuoti | tac
Rezultatas
Alfredas Hitchcockas (1899 - 1980)Albertas Einšteinas (1879 - 1955)
Alas Goras (1948 -)
Abraomas Linkolnas (1809 - 1865)
Marilyn Monroe (1926 - 1962)
Abraomas Linkolnas (1809 - 1865)
Atkreipkite dėmesį, kad eilučių, pridėtų prie fp, priekiniai tarpai pirmiausia rodomi rūšiavimo išvestyje.
Norėdami tai išspręsti, turime nepaisyti pagrindinių ruošinių taip.
Komandos
garsūs žmonės> fpkatė >> fp << EOF
Marilyn Monroe (1926 - 1962)
Abraomas Linkolnas (1809 - 1865)
EOF
katės fp | rūšiuoti - pradinukai-pirmaujantys ruošiniai - atnešėjai-vedantys-ruošiniai | tac
Rezultatas
Marilyn Monroe (1926 - 1962)Marilyn Monroe (1926 - 1962)
Marija Antuanetė (1755 - 1793)
…
Albertas Einšteinas (1879 - 1955)
Alas Goras (1948 -)
Abraomas Linkolnas (1809 - 1865)
Abraomas Linkolnas (1809 - 1865)
Alternatyvos
katės fp | sed 's / ^ \ s * //' | rūšiuoti | tacAtkreipkite dėmesį, kad alternatyva neišsaugo pagrindinių ruošinių rūšiuojant išvestį.
Rūšiuoti neatsižvelgiant į atvejį
Rūšiuoti leidžia įvesties didžiųjų raidžių nepaisyti. Byla saugoma išrūšiuotoje išvestyje.
Variantas
--ignore-caseNaudojimas
rūšiuoti --ignore-caseKomandos
garsūs žmonės> fpkatė >> fp << EOF
Abraomas Linkolnas (1809 - 1865)
ABraham Lincoln (1809 - 1865)
EOF
katės fp | rūšiuoti | tac
Rezultatas
Amelija Earhart (1897 - 1937)Alfredas Hitchcockas (1899 - 1980)
Albertas Einšteinas (1879 - 1955)
Alas Goras (1948 -)
Abraomas Linkolnas (1809 - 1865)
ABraham Lincoln (1809 - 1865)
Atkreipkite dėmesį, kad eilučių, pridėtų prie fp, priekiniai tarpai pirmiausia rodomi rūšiavimo išvestyje.
Norėdami tai išspręsti, turime ignoruoti pagrindinius ruošinius taip.
Komandos
garsūs žmonės> fpkatė >> fp << EOF
Abraomas Linkolnas (1809 - 1865)
ABraham Lincoln (1809 - 1865)
EOF
katės fp | rūšiuoti --ignore-case | tac
Rezultatas
Amelija Earhart (1897 - 1937)Alfredas Hitchcockas (1899 - 1980)
Albertas Einšteinas (1879 - 1955)
Alas Goras (1948 -)
Abraomas Linkolnas (1809 - 1865)
Abraomas Linkolnas (1809 - 1865)
ABraham Lincoln (1809 - 1865)
Alternatyvos
katės fp | skaitant -r eilutė; do echo $ line ,,; padaryta | rūšiuoti | tacAtminkite, kad alternatyva neišsaugo didžiųjų ir mažųjų raidžių rūšiuojant išvestį.
Rūšiuoti ignoruojant spausdinimą
Rūšiuoti leidžia ignoruoti įvesties nespausdinimą kaip parinktį. Nespausdinimas išsaugomas išrūšiuotoje išvestyje.
Variantas
--ignoruoti-nespausdintiNaudojimas
rūšiuoti --ignore-nonprintingKomandos
garsūs žmonės> fpaidas -e "\ x90Abe" >> fp
katės fp | rūšiuoti | tac
Rezultatas
Audrey Hepburn (1929 - 1993)Angelina Jolie (1975 m.)
Amelija Earhart (1897 - 1937)
Alfredas Hitchcockas (1899 - 1980)
Albertas Einšteinas (1879 - 1955)
Alas Goras (1948 -)
Abraomas Linkolnas (1809 - 1865)
Panašu, kad mums trūksta „Abe“ veiksmo nespausdinant simbolių rūšiavimo įvestyje.
Norėdami tai išspręsti, turime ignoruoti nespausdinamus simbolius.
Komandos
garsūs žmonės> fpaidas -e "\ x90Abe" >> fp
katės fp | rūšiuoti --ignore-nonprinting | tac
[/ cc \
Rezultatas
[cc lang = "bash"]
Amelija Earhart (1897 - 1937)
Alfredas Hitchcockas (1899 - 1980)
Albertas Einšteinas (1879 - 1955)
Alas Goras (1948 -)
Abraomas Linkolnas (1809 - 1865)
Abe
Rūšiuoti žodyno tvarką
Rūšiuoti leidžia ignoruoti visus įvestis, išskyrus tarpus ir raidinius ir skaitmeninius simbolius. Įvestis išsaugoma išrūšiuotoje išvestyje.
garsūs žmonės> fpaidas -e "\ x90Abe" >> fp
katės fp | rūšiuoti --d | tac
Pašto rūšiavimas
Rūšiuoti turi vieną pagrindinę parinktį, kuri nedaro įtakos rūšiavimui, būtent - reversas. Tačiau tai daro įtaką išvestims, leidžianti perjungti tvarką tarp didėjančios ir mažėjančios. Toliau pateikiamas pavyzdys.
Rūšiuoti atvirkštinę išvestį
Rūšiuoti leidžia išvestį rodyti atvirkštine tvarka kaip parinktį.
Variantas
--atvirkščiaiNaudojimas
rūšiuoti - reversasKomandinė eilutė
garsūs žmonės | rūšiuoti - reversasRezultatas
Angelina Jolie (1975 m.)Amelija Earhart (1897 - 1937)
Alfredas Hitchcockas (1899 - 1980)
Albertas Einšteinas (1879 - 1955)
Alas Goras (1948 -)
Abraomas Linkolnas (1809 - 1865)
Alternatyvos
rūšiuoti | tacKitos rūšiavimo parinktys
Yra dar 22 rūšiavimo variantai. Toliau pateikiami pavyzdžiai.
Rūšiuoti patikrą
Rūšiuoti turi parinktį, leidžiančią patikrinti, ar įvestis rūšiuojama. Jis grįžta po pirmo nerūšiuotos eilutės egzemplioriaus. Būtina, kad įvestis turi būti rūšiuojama, bet greičiausiai jau yra tvarkinga, tinka naudoti rūšiavimo patikrą.
Variantas
--patikrintiNaudojimas
rūšiuoti - patikrintiKomandinė eilutė
10 sek rūšiuoti - atsitiktinai rūšiuoti | rūšiuoti - patikrintiRezultatas
rūšiuoti: -: 3: sutrikimas: 10Komandinė eilutė
10 sek rūšiuoti - atsitiktinai rūšiuoti | rūšiuoti | rūšiuoti - patikrintiRezultatas
(tuščias)Rūšiuoti išvestį
Rūšiuoti turi parinktį, leidžiančią nurodyti failą, į kurį norite rašyti, o ne naudoti standartinę išvestį ar peradresavimą. Jo naudojimas gali pagerinti suderinamumą tarp scenarijų aplinkų.
Variantas
--išvestis = FILENaudojimas
rūšiuoti - išvestis = FILEKomandinė eilutė
10 sek rūšiuoti - atsitiktinai rūšiuoti - išvestis = atsitiktinis-10Rezultatas
(tuščias)Rūšiavimas nutrauktas
Rūšiuoti turi parinktį, leidžiančią nustatyti eilučių ribotuvą kaip nulį, o ne naują eilutę.
Variantas
--nulinio nutraukimoNaudojimas
rūšiuoti - nulinisKomandinė eilutė
10 sek tr '\ 012' '\ 000' | rūšiuoti - nulio nutrauktas - atsitiktinis rūšiavimasRezultatas
25346178910Rūšiuoti stabiliai
Rūšiuoti turi parinktį, leidžiančią išjungti paskutinės priemonės palyginimą. Dėl to gali būti pasiektas stabilesnis vykdymo laikas, kai pakankamai dideli įėjimai gali sukelti nestabilų rūšiavimą.
Variantas
--stabilusNaudojimas
rūšiuoti - stabilusKomandinė eilutė
laiko seka 1000000 | rūšiuoti - atsitiktinai rūšiuoti | rūšiuoti - stabilus> / dev / nullRezultatas
tikras 0m9.138-iejivartotojas 0m9.201-ieji
sys 0m0.107-ieji
Rūšiuoti buferio dydį
Rūšiuoti turi parinktį, leidžiančią nustatyti rūšiuojamos atminties kiekį kaip buferį. Jis gali būti naudojamas norint apriboti atminties vartojimą rūšiuojant didesnes įvestis. Tai gali turėti įtakos našumui.
Variantas
--buferio dydis = SIZENaudojimas
rūšiuoti - buferio dydis = 64Komandinė eilutė
laiko seka 1000000 | rūšiuoti -random-rūšiuoti | rūšiuoti -stabilus -buferio dydis = 64> / dev / null
Rezultatas
tikras 0m21.685 metaivartotojas 0m9.858-ieji
sys 0m2.092s
Rūšiuoti unikaliai
Rūšiuoti turi parinktį, leidžiančią pašalinti pasikartojančias eilutes rūšiavimo išvestyje
Variantas
--UnikalusNaudojimas
rūšiuoti - unikalusKomandinė eilutė aidas 1 2 2 4 5 | tr '\ 040' \ 000 '| rūšiuoti - nulio pabaiga - unikalumas
Rezultatas
1245 mAlternatyvos
rūšiuoti | unikalusIšvada
Rūšiuoti yra išorinė komanda, naudinga ne tik tada, kai naudojama kartu su kitomis išorinėmis komandomis, bet ir naudinga, kai naudojama su komandomis be integruoto užsakymo metodo, pavyzdžiui, vartotojo apibrėžta funkcija ar apskritai „bash“ scenarijai.