Linuxi käsud

Linuxi uniqi käsk

Linuxi uniqi käsk
Mis on „uniq”? See on suurepärane käsurea tööriist, mis teatab või jätab duplikaatteksti antud sisendis ära. See on osa GNU põhitekstidest ja seega saadaval igas UNIX / Linuxi süsteemis. Alustame sõnaga “uniq”!

Uniqi kasutamine

Nii näeb välja uniq-käskude põhistruktuur.

ainulaadne

Vaatame näiteks sisu „duplikaat.txt ”. Muidugi sisaldab see selle artikli tähenduses palju duplikaatteksti sisu.

kassi duplikaat.txt | sorteerida

Sisu on selgelt dubleeritud, eks? Filtreerime need läbi "uniqi".

kassi duplikaat | sorteeri | ainulaadne

Väljund näeb nii parem välja ainult unikaalsete väärtustega, eks?

Kuid töö tegemiseks pole vaja lihtsalt kasutada torustiku meetodit. “Uniq” saab otseselt töötada ka failidega.

ainulaadne

Duplikaatse sisu kustutamine

Jah, duplikaadi sisu sisendist kustutamine ja ainult esimese esinemise säilitamine on „uniq” vaikekäitumine. Pange tähele, et see duplikaadi kustutamine toimub ainult siis, kui „uniq” leiab samaaegseid duplikaadiüksusi.

Vaatame seda näidet. Olen loonud veel ühe duplikaadi1.txt ”fail, mis sisaldab duplikaatüksusi. Kuid nad ei ole üksteisega külgnevad.

nahkhiire duplikaat.txt

Nüüd filtreerige see väljund, kasutades “uniq”.

kassi duplikaat1.txt | ainulaadne

Kogu duplikaadi sisu on olemas! Sellepärast, kui töötate midagi sarnast, viige sisu läbi "sort", veendumaks, et kogu sisu on sorteeritud ja duplikaadid on üksteise kõrval.

kassi duplikaat1.txt | sorteerida

Nüüd teeb “uniq” oma tööd normaalselt.

kassi duplikaat1.txt | sorteeri | ainulaadne

Korduste arv

Soovi korral saate vaadata, mitu korda rida sisus korratakse. Lihtsalt kasutage märki “-c” koos “uniq” -ga.

kassi duplikaat.txt | sorteeri | uniq -c

Märkus: "uniq" teeb oma tavapärase töö ka duplikaatide kustutamiseks.

Korduvate ridade printimine

Enamasti tahame duplikaatidest lahti saada, eks? Seekord, kuidas oleks lihtsalt kontrollida, mis on duplikaat?

Jah, ka “uniq” suudab seda teha. Sellisel juhul peate kasutama valikut "-D". Parema ja täpsema tulemuse saavutamiseks kasutan vahepeal sorteerimist.

kassi duplikaat.txt | sorteeri | uniq -D

VAU! See on PALJU duplikaate! Kuid kõik duplikaadid on koondatud kokku, mis muudab navigeerimise raskeks. Kuidas oleks, kui lisaks väikese vahe vahele?

uniq - kõik korduvad =

Siin on saadaval 3 erinevat meetodit: ükski (vaikeväärtus), eel ja eraldi.

kassi duplikaat.txt | sorteeri | uniq - kõik korduvad = sõltuvad

kassi duplikaat.txt | sorteeri | uniq - kõik korduvad = eraldi

Nüüd näeb see parem välja.

Unikaalsuskontrolli vahele jätmine

Paljudel juhtudel peab ainulaadsust kontrollima joone teine ​​osa.

Mõistame seda näitega. Faili duplikaadis1.txt, oletame, et dubleerimise määrab teine ​​osa. Kuidas öelda, et „uniq“ seda teeks? Üldiselt kontrollib see esimest välja (vaikimisi). Noh, me saame ka seda teha. Lihtsalt selle töö tegemiseks on see "-f" lipp.

uniq -f
kassi duplikaat1.txt | sorteeri -k 2 | uniq -f 1

Kui mõtlete lipuga „sort”, siis öelge see teisele veerule tuginedes sortimiseks „sort”.

Kuva kõik read, kuid eraldi duplikaadid

Kõigi ülaltoodud näidete kohaselt hoiab “uniq” alles dubleeritud sisu esmakordse esinemise ja eemaldab ülejäänud. Kuidas oleks dubleeriva sisu täielik eemaldamine? Jah, lipu “-u” abil võime sundida “uniq” hoidma ainult mittekorduvaid ridu.

kassi duplikaat.txt | sorteerida

kassi duplikaat.txt | sorteeri | uniq -u

Hmm, liiga palju duplikaate on nüüd kadunud ..

Jätke algustähed vahele

Arutasime, kuidas öelda uniqile, et ta teeks oma tööd teiste valdkondade jaoks, eks? On aeg alustada kontrolli pärast mitut algustähte. Sel eesmärgil ütleb “-s” -märk koos tähemärkide arvuga “uniq” -i ülesande täitma.

kassi duplikaat1.txt | sorteeri -k 2 | uniq -s 2

See sarnaneb näitega, kus “uniq” pidi oma ülesannet täitma ainult teisel väljal. Vaatame selle trikiga veel ühte näidet.

kassi duplikaat.txt | sorteeri | uniq -s 5

Kontrollige AINULT algmärke

Täpselt nagu viis, kuidas käskisime „uniqil” paar esimest märki vahele jätta, on ka „uniqil” võimalik öelda, et see piiraks paari esimese märgi kontrolli. Sel eesmärgil on spetsiaalne lipp “-w”.

kassi duplikaat.txt | sorteeri | uniq -w 5

See käsk käsib „uniqil” teostada unikaalsuse kontrollimist esimese 5 märgi jooksul.

Vaatame selle käsu veel ühte näidet.

kassi duplikaat1.txt | sorteeri | uniq -w 5

See kustutab kõik ülejäänud duplikaatkirjete eksemplarid, kuna tegi osa „dupli” ainulaadsuse kontrolli.

Suurte ja väiketähtede tundetus

Unikaalsuse kontrollimisel kontrollib “uniq” ka märkide suurtähti. Mõnes olukorras ei ole väiketähtede tundlikkus oluline, seega saame lipu „-i” abil muuta „uniq” tähe tundetuks.

Siin esitan teile demofaili.

Mõned tõeliselt nutikad dubleerimised suurte ja väikeste tähtede seguga, eks? On aeg kasutada segaduse puhastamiseks uniqi tugevust!

kassi duplikaat1.txt | sorteeri | uniq -i

Soov täidetud!

NULL-otsaga väljund

„Uniq” vaikekäitumine on väljundi lõpetamine uue reaga. Kuid väljundi saab lõpetada ka NULL-iga. See on üsna kasulik, kui kavatsete seda skriptimisel kasutada. Siin teeb seda tööd lipp “-z”.

kassi duplikaat.txt | sorteeri | uniq -z

Mitme lipu kombineerimine

Saime teada hulga lippe tähega “uniq”, eks? Kuidas oleks neid omavahel kombineerida?

Näiteks ühendan juhtumitundetuse ja korduste arvu kokku.

Kui plaanite kunagi mitu lippu kokku segada, siis kõigepealt veenduge, et need töötaksid koos õigesti. Mõnikord ei toimi asjad lihtsalt nii, nagu peaksid.

Lõpumõtted

“Uniq” on üsna ainulaadne tööriist, mida Linux pakub. Nii paljude võimsate funktsioonide korral võib see olla kasulik mitmel viisil. Kõigi lippude ja nende selgituste loendi leiate inimese ja infolehtedelt „uniq”.

mees uniq

info uniq

Nautige!

Kuidas mängu Linuxis arendada
Kümme aastat tagasi ei osanud paljud Linuxi kasutajad ennustada, et nende lemmikoperatsioonisüsteem on ühel päeval populaarne kommertsvideomängude män...
Kommertsmängumootorite avatud lähtekoodiga sadamad
Tasuta, avatud lähtekoodiga ja platvormidevaheliste mängumootorite puhkusereise saab kasutada nii vanade kui ka mõnede üsna hiljutiste mängude pealkir...
Parimad Linuxi käsurea mängud
Käsurida pole Linuxi kasutamisel lihtsalt teie suurim liitlane - see võib olla ka meelelahutusallikas, sest saate seda kasutada paljude lõbusate mängu...