Ukazi za Linux

Ukaz Linux uniq

Ukaz Linux uniq
Kaj je "uniq"? To je odlično orodje ukazne vrstice, ki bo sporočilo ali izpustitev podvojenega besedila v danem vnosu. Je del jedra GNU in je na voljo v vseh posameznih sistemih UNIX / Linux. Začnimo z “uniq”!

Uporaba Uniq

Evo, kako izgleda osnovna struktura ukazov "uniq".

uniq

Na primer, preverimo vsebino »dvojnika.txt ". Seveda vsebuje veliko podvojenih besedilnih vsebin za namen tega članka.

mačka dvojnik.txt | razvrsti

Obstajajo očitno podvojene vsebine, kajne? Filtrirajmo jih skozi "uniq".

mačka dvojnik | razvrsti | uniq

Izhod je videti tako bolje samo z edinstvenimi vrednostmi, kajne?

Vendar vam za to preprosto ni treba uporabiti metode cevovodov. "Uniq" lahko neposredno deluje tudi na datotekah.

uniq

Brisanje podvojene vsebine

Da, brisanje podvojene vsebine iz vhoda in ohranitev samo prvega pojavljanja je privzeto vedenje "uniq". Upoštevajte, da se to podvojeno brisanje zgodi le, kadar »uniq« najde sočasne podvojene elemente.

Oglejmo si ta primer. Ustvaril sem še en "dvojnik1".txt ”, ki vsebuje podvojene elemente. Vendar si niso sosednji.

netopir dvojnik1.txt

Zdaj filtrirajte ta izhod z uporabo "uniq".

mačka dvojnik1.txt | uniq

Vse podvojene vsebine so tam! Zato, če delate s čim podobnim, prenesite vsebino skozi »razvrsti«, da zagotovite, da je vsa vsebina razvrščena in dvojniki sosednji.

mačka dvojnik1.txt | razvrsti

Zdaj bo "uniq" svoje delo opravljal normalno.

mačka dvojnik1.txt | razvrsti | uniq

Število ponovitev

Če želite, lahko preverite, kolikokrat se vrstica ponovi v vsebini. Samo uporabite zastavico "-c" z "uniq".

mačka dvojnik.txt | razvrsti | uniq -c

Opomba: »uniq« bo tudi redno brisal podvojene.

Tiskanje podvojenih vrstic

Največkrat se želimo znebiti dvojnikov, kajne? Tokrat, kako bi bilo samo preveriti, kaj se podvaja?

Da, tudi "uniq" je zmožen. V tem primeru morate uporabiti možnost “-D”. Za boljši in bolj izpopolnjen rezultat bom uporabil vmesno razvrščanje.

mačka dvojnik.txt | razvrsti | uniq -D

WOW! To je VELIKO dvojnikov! Vendar so vsi dvojniki združeni v skupine, kar otežuje navigacijo. Kaj pa, če bi dodali malo vrzeli vmes?

uniq - vse-ponovljeno =

Na voljo so 3 različne metode: nobena (privzeta vrednost), dodajanje in ločevanje.

mačka dvojnik.txt | razvrsti | uniq - vse-ponovljeno = pripravi

mačka dvojnik.txt | razvrsti | uniq - vse-ponovljeno = ločeno

Zdaj je videti bolje.

Preskakanje preverjanja edinstvenosti

V mnogih primerih mora edinstvenost preverjati drug del vrstice.

Razumimo to na primeru. V datoteki dvojnik1.txt, recimo, da podvajanje določa drugi del. Kako poveš "uniq", naj to stori? Na splošno preveri prvo polje (privzeto). No, tudi to lahko naredimo. Obstaja ta zastavica "-f", ki opravlja samo to delo.

uniq -f
mačka dvojnik1.txt | razvrsti -k 2 | uniq -f 1

Če se sprašujete z zastavico »razvrsti«, morate ukazati »razvrsti«, da razvrsti glede na drugi stolpec.

Prikaži vse vrstice, vendar ločene dvojnike

V skladu z vsemi zgoraj omenjenimi primeri "uniq" obdrži samo prvi pojav podvojene vsebine in odstrani ostalo. Kako pa je, če bi v celoti odstranili podvojene vsebine? Da, z uporabo zastavice "-u" lahko prisilimo "uniq", da obdrži samo neponavljajoče se vrstice.

mačka dvojnik.txt | razvrsti

mačka dvojnik.txt | razvrsti | uniq -u

Hmm, preveč dvojnikov zdaj ni več ..

Preskoči začetne znake

Razpravljali smo o tem, kako ukazu "uniq" narediti svoje delo za druga področja, kajne? Čas je za začetek preverjanja po številnih začetnih znakih. V ta namen bo zastavica “-s” skupaj s številom znakov povedala “uniq”, naj opravi delo.

mačka dvojnik1.txt | razvrsti -k 2 | uniq -s 2

Podobno je primeru, ko naj bi »uniq« opravil svojo nalogo samo v drugem polju. Poglejmo še en primer s tem trikom.

mačka dvojnik.txt | razvrsti | uniq-s 5

Preveri SAMO začetne znake

Tako kot smo rekli, da "uniq" preskoči prvih nekaj znakov, lahko tudi "uniq" pove, naj samo omeji preverjanje znotraj prvih nekaj znakov. V ta namen obstaja posebna zastavica "-w".

mačka dvojnik.txt | razvrsti | uniq -w 5

Ta ukaz ukazu "uniq" izvede preverjanje unikatnosti v prvih 5 znakih.

Poglejmo še en primer tega ukaza.

mačka dvojnik1.txt | razvrsti | uniq -w 5

Izbriše vse druge primere "podvojenih" vnosov, ker je opravil preverjanje edinstvenosti dela "dupli".

Neobčutljivost na velike in male črke

Pri preverjanju edinstvenosti "uniq" preverja tudi velikost črk. V nekaterih primerih občutljivost na male črke ni pomembna, zato lahko z zastavico "-i" naredimo neobčutljivo za črko "uniq".

Tukaj vam predstavljam predstavitveno datoteko.

Nekaj ​​res pametnega podvajanja z mešanico velikih in malih črk, kajne? Čas je, da pokličete moč "uniq" za čiščenje nereda!

mačka dvojnik1.txt | razvrsti | uniq -i

Želja izpolnjena!

NULL-zaključena proizvodnja

Privzeto vedenje »uniq« je, da izhod konča z novo vrstico. Izhod pa lahko zaključite tudi z NULL. To je zelo koristno, če ga boste uporabljali pri skriptiranju. Tu je zastava "-z" tista, ki to naredi.

mačka dvojnik.txt | razvrsti | uniq -z

Kombiniranje več zastavic

Naučili smo se številnih zastavic "uniq", kajne? Kaj pa, če bi jih kombinirali skupaj?

Na primer, kombiniram neobčutljivost in veliko število ponovitev.

Če nameravate kdaj združiti več zastavic, najprej poskrbite, da bodo delovale pravilno. Včasih stvari preprosto ne delujejo, kot bi morale.

Zadnje misli

"Uniq" je precej edinstveno orodje, ki ga ponuja Linux. S tako zmogljivimi funkcijami je lahko koristen na številne načine. Seznam vseh zastav in njihova pojasnila najdete v priročniku in na straneh z informacijami "uniq".

človek uniq

info uniq

Uživajte!

Kako uporabljati AutoKey za avtomatizacijo iger Linux
AutoKey je namizni pripomoček za avtomatizacijo za Linux in X11, programiran v Python 3, GTK in Qt. Z njegovo funkcijo skriptiranja in MACRO lahko avt...
Kako prikazati števec FPS v igrah Linux
Linux gaming je dobil velik zagon, ko je Valve leta 2012 napovedal podporo Linuxu za odjemalca Steam in njihove igre. Od takrat se je veliko AAA in in...
Kako prenesti in igrati Sid Meier's Civilization VI v Linuxu
Uvod v igro Civilization 6 je sodoben pogled na klasični koncept, uveden v seriji iger Age of Empires. Ideja je bila dokaj preprosta; začeli bi v zelo...