Linux naredbe

Linux uniq naredba

Linux uniq naredba
Što je "uniq"? To je izvrstan alat naredbenog retka koji će prijaviti ili izostaviti duplicirani tekst u danom unosu. Dio je GNU coreutila, pa je dostupan na svim UNIX / Linux sustavima. Krenimo s “uniq”!

Upotreba Uniq-a

Evo kako izgleda osnovna struktura naredbi "uniq".

uniq

Na primjer, provjerimo sadržaj „duplikata.txt ". Naravno, on sadrži puno dupliciranih tekstualnih sadržaja u svrhu ovog članka.

mačka duplikat.txt | vrsta

Postoje očito duplicirani sadržaji, zar ne? Filtrirajmo ih kroz "uniq".

mačka duplikat | razvrstaj | uniq

Izlaz izgleda tako bolje samo s jedinstvenim vrijednostima, zar ne?

Međutim, za obavljanje posla jednostavno ne trebate koristiti cijevnu metodu. "Uniq" može izravno raditi i na datotekama.

uniq

Brisanje dupliciranog sadržaja

Da, brisanje dupliciranog sadržaja s ulaza i zadržavanje samo prvog pojavljivanja je zadano ponašanje "uniq". Imajte na umu da se ovo duplicirano brisanje događa samo kada "uniq" pronađe istodobne duplicirane stavke.

Provjerimo ovaj primjer. Napravio sam još jedan „duplikat1.txt ”datoteka koja sadrži dvostruke stavke. Međutim, oni nisu susjedni jedni drugima.

duplikat šišmiša1.txt

Sada, filtrirajte ovaj izlaz pomoću "uniq".

mačka duplikat1.txt | uniq

Sav duplikat sadržaja je tamo! Zbog toga, ako radite s nečim sličnim ovome, prenesite sadržaj kroz "sortiraj" kako biste bili sigurni da je sav sadržaj sortiran i da su duplikati susjedni jedni drugima.

mačka duplikat1.txt | vrsta

Sada će "uniq" normalno raditi svoj posao.

mačka duplikat1.txt | razvrstaj | uniq

Broj ponavljanja

Ako želite, možete provjeriti koliko puta se linija ponavlja u sadržaju. Samo upotrijebite zastavicu "-c" sa "uniq".

mačka duplikat.txt | razvrstaj | uniq -c

Napomena: "uniq" će također obavljati svoj redoviti posao brisanja duplikata.

Ispis duplikata linija

Većinom se želimo riješiti duplikata, zar ne? Ovaj put, kako bi bilo samo provjeriti što je duplikat?

Da, "uniq" je također u stanju to učiniti. U tom slučaju morate koristiti opciju "-D". Koristit ću "sortiranje" između da bih postigao bolji, profinjeniji rezultat.

mačka duplikat.txt | razvrstaj | uniq -D

WOW! To je MNOGO duplikata! Međutim, svi su duplikati grupirani zajedno, što otežava navigaciju. Kako bi bilo da dodate malo praznine između?

uniq --sve-ponovljeno =

Dostupne su 3 različite metode: nijedna (zadana vrijednost), dodaj i odvoji.

mačka duplikat.txt | razvrstaj | uniq --sve-ponovljeno = dodati

mačka duplikat.txt | razvrstaj | uniq --sve-ponovljeno = odvojeno

Sad izgleda bolje.

Preskakanje provjere jedinstvenosti

U mnogim slučajevima jedinstvenost mora provjeravati drugi dio crte.

Shvatimo to na primjeru. U datoteci duplikat1.txt, recimo da je dupliciranje određeno drugim dijelom. Kako se kaže "uniqu" da to učini? Općenito, provjerava prvo polje (prema zadanim postavkama). Pa, možemo i to. Postoji ta zastavica "-f" za obavljanje samo posla.

uniq -f
mačka duplikat1.txt | razvrstaj -k 2 | uniq -f 1

Ako se pitate s zastavicom "sortiraj", to je reći "sortiraj" da sortira na temelju drugog stupca.

Prikažite sve retke, ali zasebne duplikate

Prema svim gore spomenutim primjerima, "uniq" zadržava samo prvu pojavu dupliciranog sadržaja, a uklanja ostatak. Kako bi bilo da potpuno uklonite duplicirani sadržaj? Da, koristeći zastavicu "-u", možemo prisiliti "uniq" da zadrži samo neponovljive retke.

mačka duplikat.txt | vrsta

mačka duplikat.txt | razvrstaj | uniq -u

Hmm, sada je otišlo previše duplikata ..

Preskoči početne znakove

Razgovarali smo o tome kako reći "uniqu" da radi svoj posao za druga područja, zar ne? Vrijeme je za početak provjere nakon niza početnih znakova. U tu svrhu, zastavica “-s” popraćena brojem znakova reći će “uniqu” da obavi posao.

mačka duplikat1.txt | razvrstaj -k 2 | uniq -i 2

Slično je primjeru gdje je "uniq" trebao obaviti svoj zadatak samo u drugom polju. Pogledajmo još jedan primjer s ovim trikom.

mačka duplikat.txt | razvrstaj | uniq -i 5

Provjerite SAMO početne znakove

Baš kao i način na koji smo rekli "uniq" da preskoči prvih par znakova, također je moguće reći "uniq" da samo ograniči provjeru unutar prvih par znakova. U tu svrhu postoji namjenska zastavica "-w".

mačka duplikat.txt | razvrstaj | uniq -w 5

Ova naredba govori "uniq" da izvrši provjeru jedinstvenosti unutar prvih 5 znakova.

Pogledajmo još jedan primjer ove naredbe.

mačka duplikat1.txt | razvrstaj | uniq -w 5

Briše sve ostale slučajeve "dupliciranih" unosa jer je izvršio provjeru jedinstvenosti na dijelu "dupli".

Neosjetljivost na velika i mala slova

Pri provjeri jedinstvenosti, "uniq" također provjerava i slučaj likova. U nekim situacijama osjetljivost na velika i mala slova nije bitna, pa možemo upotrijebiti zastavicu "-i" kako bismo slovo "uniq" učinili neosjetljivim.

Ovdje vam predstavljam demo datoteku.

Neki doista pametno kopiraju s mješavinom velikih i malih slova, točno? Vrijeme je da pozovemo snagu "uniq" da očisti nered!

mačka duplikat1.txt | razvrstaj | uniq -i

Želja ispunjena!

NULL-završeni izlaz

Zadano ponašanje "uniq" je završavanje izlaza novom linijom. Međutim, izlaz se također može prekinuti NULL-om. To je prilično korisno ako ćete ga koristiti u skriptiranju. Ovdje je zastava "-z" ono što čini posao.

mačka duplikat.txt | razvrstaj | uniq -z

Kombinirajući više zastavica

Saznali smo brojne zastave "uniq", zar ne? Kako bi bilo da ih kombinirate zajedno?

Na primjer, kombiniram neosjetljivost na slučaj i broj ponavljanja zajedno.

Ako ikad planirate pomiješati više zastavica, isprva provjerite rade li na pravi način. Ponekad stvari jednostavno ne funkcioniraju kako bi trebale.

Završne misli

"Uniq" je prilično jedinstven alat koji Linux nudi. S toliko moćnih značajki može biti korisno na brojne načine. Popis svih zastava i njihova objašnjenja potražite u uputama i info stranicama "uniq".

čovjek uniq

info uniq

Uživati!

Kako preuzeti i igrati Sid Meier's Civilization VI na Linuxu
Uvod u igru Civilization 6 moderan je pogled na klasični koncept predstavljen u seriji igara Age of Empires. Ideja je bila prilično jednostavna; započ...
Kako instalirati i igrati Doom na Linuxu
Uvod u Doom Serija Doom nastala je 90-ih nakon izlaska originalnog Dooma. To je bio trenutni hit i od tog vremena nadalje igraća serija dobila je broj...
Vulkan za korisnike Linuxa
Sa svakom novom generacijom grafičkih kartica vidimo da programeri igara pomiču granice grafičke vjernosti i dolaze na korak od fotorealizma. No, bez ...