Kaip rūšiuoti teksto failus „Linux“ naudojant rūšiavimo komandą

Kaip rūšiuoti teksto failus „Linux“ naudojant rūšiavimo komandą

„Linux“ siūlo keletą paslaugų, kurias galite naudoti tekstiniams failams apdoroti. Nesvarbu, ar norite pašalinti pasikartojančius duomenis, ar rūšiuoti turinį faile, „Linux“ komandinės eilutės įrankiai turi viską, ko reikia.





Šiame straipsnyje bus parodyta rūšiavimo komanda ir tai, kaip galite ją naudoti norėdami rūšiuoti tekstinio failo turinį ir atitinkamai jį išdėstyti.





Kas yra rūšiavimo komanda?

Kaip minėta aukščiau, rūšiavimo komanda padeda vartotojui sutvarkyti teksto failo turinį tam tikra tvarka. Galimos kelios parinktys, leidžiančios rūšiuoti failą pagal jūsų pageidavimą. Tai standartinė „Linux“ programa, kuri gali rūšiuoti teksto failus abėcėlės tvarka, skaičiais, stulpeliais ir dar daugiau, įprasta arba atvirkštine tvarka.





Kitos komandos funkcijos apima simbolių raidžių ignoravimą rūšiuojant, failo rūšiavimą pagal mėnesį, tuščių failų ignoravimą ir atsitiktinį rūšiavimą. Naudodami rūšiavimą taip pat galite patikrinti, ar failas jau surūšiuotas, ar ne.

Kaip naudoti rūšiavimą „Linux“

Nors rūšiuoti yra keli metodai ir žymos, kurias galite naudoti, vis tiek lengva išmokti.



Pagrindinė sintaksė

Pagrindinė rūšiavimo sintaksė yra tokia:

sort filename

... kur failo pavadinimas yra absoliutus arba santykinis teksto failo, kurį norite rūšiuoti, kelias.





Pagal numatytuosius nustatymus rūšiavimas sutvarkys turinį pagal šiuos kriterijus:

  1. Eilutės, prasidedančios skaitmeniniais simboliais, turi didžiausią prioritetą.
  2. Komanda surūšiuos eilutes abėcėlės tvarka, surikiuodama eilutes, prasidedančias skaičiais.
  3. Eilutės, prasidedančios mažosiomis raidėmis, yra prieš eilutes, prasidedančias tuo pačiu simboliu didžiosiomis raidėmis.

Apsvarstykite tekstinį failą pavadinimu textfile.txt kurioje yra ši informacija:





Norėdami surūšiuoti failą naudodami numatytąją konfigūraciją:

sort textfile.txt

Išėjimas:

Sukurkite naują išvesties failą

Rūšiavimo komanda nekeičia failo turinio. Jis tiesiog siunčia surūšiuotą turinį į standartinę išvestį. Tačiau tai nereiškia, kad rūšiavimas negali sukurti naujo failo. Galite naudoti -arba vėliava, norėdami nurodyti surūšiuoto failo pavadinimą, ir rūšiavimas automatiškai sukurs failą už jus ir pridės turinio.

kur gauti pigių kompiuterių dalių
sort -o sortedfile filename

... kur surūšiuota byla yra išvesties failo pavadinimas ir failo pavadinimas yra originalus failas, kurį reikia rūšiuoti.

Rūšiuoti textfile.txt ir sukurkite naują turinio išvesties failą:

sort -o sorted.txt textfile.txt

Išėjimas:

Rūšiuoti kelis failus

Norėdami rūšiuoti daugiau nei vieną failą vienu metu, tiesiog perduokite failų pavadinimus, atskirtus Erdvė charakteris.

sort textfile.txt textfile2.txt

Išėjimas:

Atminkite, kad rūšiavimas sujungs failų išvestį ir parodys juos kartu terminale.

Rūšiuoti failą atvirkščiai

Jei norite pakeisti turinio išdėstymą, naudokite -r vėliava su numatyta komanda. The -r toliau nurodyta komanda reiškia Atvirkštinis .

sort -r textfile.txt

Išėjimas:

Rūšiuoti failą pagal skaičių

Norėdami rūšiuoti failą, kuriame yra skaitiniai duomenys, naudokite -n vėliava su komanda. Pagal numatytuosius nustatymus rūšiavimas surūšiuos duomenis didėjančia tvarka.

sort -n numbers.txt

Išėjimas:

Jei norite rūšiuoti mažėjančia tvarka, pakeiskite išdėstymą naudodami -r variantas kartu su -n vėliava komandoje.

sort -rn numbers.txt

Išėjimas:

Rūšiuodami nepaisykite simbolių raidžių

Pagal numatytuosius nustatymus rūšiavimas atsižvelgia į turinio simbolius. Eilutės, prasidedančios mažosiomis raidėmis, yra prieš eilutes, prasidedančias to paties simbolio didžiosiomis versijomis. Pavyzdžiui, „jis yra berniukas“ prieš „Jis yra berniukas“.

Jei norite rūšiuoti, kad nepaisytumėte didžiųjų ir mažųjų raidžių, nurodykite -f arba -atvejis pažymėti taip:

sort -f textfile.txt
sort --ignore-case textfile.txt

Išėjimas:

Rūšiuokite failą pagal mėnesį

Naudojant -M vėliavą, galite keisti failo turinio tvarką pagal mėnesių pavadinimus.

sort -M textfile2.txt

Išėjimas:

Nepaisykite pagrindinių tuščių vietų

Kartais faile, kurį norite rūšiuoti, gali būti tarpų ar skirtukų. Norėdami ignoruoti tokius tuščius simbolius, naudokite -b vėliava.

sort -b fileblanks.txt

Išėjimas:

Rūšiuoti failą pagal stulpelį

Jei turite teksto failą su duomenimis, išdėstytais atskiruose stulpeliuose, galite rūšiuoti failą pagal stulpelio turinį. Viskas, ką jums reikia padaryti, tai perduoti stulpelio numerį kartu su vėliava.

Apsvarstykite tekstinį failą, kuriame yra failo informacija su skirtingais stulpeliais. Norėdami rūšiuoti failą pavadinimu output.txt pagal aštuntą stulpelį:

disney + pagalbos centro klaidos kodas 83
sort -k8 -rn output.txt

Išėjimas:

Rūšiuoti vamzdžius su kitomis komandomis

Jūs netgi galite naudoti rūšiavimą su kitomis „Linux“ komandomis, kad pakeistumėte išvesties išdėstymą. Pavyzdžiui, rūšiuoti išvestį komanda ls pagal failų dydį:

ls -la | sort -k5 -rn

Išėjimas:

Rūšiuoti failą atsitiktinai

Galite naudoti -R vėliavą, jei norite atsitiktine tvarka suskirstyti eilutes teksto faile. Apsvarstykite failą textfile.txt :

sort -R textfile.txt

Išėjimas:

Rūšiuoti versijų numerius faile

Jei turite teksto failą, kuriame yra su paketu susieta versijos informacija, galite rūšiuoti jo turinį naudodami -V arba --versijos rūšiavimas vėliava.

ar noriu 32 ar 64 bitų?
sort -V version.txt
sort --version-sort version.txt

Išėjimas:

Patikrinkite, ar failas surūšiuotas

The -c vėliava padės jums nustatyti failus, kurie jau surūšiuoti pagal nurodytas parinktis. Jei failo turinys tinkamai surūšiuotas, rūšiavimas nerodys jokios išvesties.

Norėdami patikrinti, ar failas textfile.txt yra surūšiuota:

sort -c textfile.txt

Dabar surūšiuokime failą ir išsaugokime jo išvestį į naują failą pavadinimu surūšiuotas.txt . Išduodant šią komandą:

sort -c sorted.txt

Išėjimas:

Taip pat galite nurodyti įvairias žymes, kad patikrintumėte failo išdėstymą pagal konkrečius kriterijus. Pavyzdžiui, norėdami patikrinti, ar failas skaičiai.txt surūšiuota mažėjančia tvarka:

sort -c -rn numbers.txt

Pamatysite išvestį, nurodančią, kad failas netinkamai surūšiuotas. Rūšiuokime failą ir patikrinkime, ar naujas failas išlaikė testą.

sort -o sorted.txt -rn numbers.txt
sort -c -rn sorted.txt

Išėjimas:

Rūšiuokite failą ir pašalinkite dublikatus

Faile, su kuriuo dirbate, gali būti pasikartojančių duomenų. Nors galite naudoti komandą uniq Norėdami pašalinti tokią informaciją iš failo, rūšiavimas gali atlikti šią užduotį už jus. The -u arba --Unikalus vėliava yra tai, ko jums reikia.

Apsvarstykite failą pavadinimu duplicate.txt :

Norėdami rūšiuoti failą ir pašalinti pasikartojančius duomenis:

sort -u duplicate.txt

Išėjimas:

Tai galite pamatyti, kai naudojate -u vėliava, rūšiuoti rodomos tik atskiros eilutės ir išdėstomos pagal nurodytus kriterijus.

Darbas su teksto failais „Linux“

Nors komandinės eilutės teksto redaktorių galia yra neprilygstama, vis tiek galite pasirinkti grafinį redaktorių, pvz., „Gedit“, kad lengvai pakeistumėte teksto failo turinį. Be to, tai geresnis pasirinkimas tiems, kurie yra nauji „Linux“ ir negali susidoroti su terminalu.

Geriausias būdas pradėti nuo komandinės eilutės ir apskritai „Linux“ yra pirmiausia atlikti pagrindines komandas. Tikriausiai geriausias būdas padengti pagrindines paslaugas yra palaipsniui pereiti prie sudėtingesnių komandų.

Dalintis Dalintis „Tweet“ Paštu „Linux“ komandų informacinis apgaulės lapas

Šis paprastas apgaulės lapas padės jums greitai prisitaikyti prie „Linux“ komandinės eilutės terminalo.

Skaityti toliau
Susijusios temos
  • Linux
  • Failų valdymas
  • Linux
  • „Linux“ komandos
Apie autorių Deepesh Sharma(Paskelbti 79 straipsniai)

„Deepesh“ yra „MUO“ jaunesnysis „Linux“ redaktorius. Jis rašo informacinius vadovus apie „Linux“, siekdamas suteikti palaimingos patirties visiems naujokams. Nesate tikri dėl filmų, bet jei norite kalbėti apie technologijas, jis yra jūsų vaikinas. Laisvalaikiu galite jį skaityti knygas, klausytis skirtingų muzikos žanrų ar groti gitara.

Daugiau iš „Deepesh Sharma“

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!

Norėdami užsiprenumeruoti, spustelėkite čia