Linux uniq komanda naudojama pašalinti visas pasikartojančias eilutes iš failo. Be to, jį galima naudoti norint rodyti bet kurio žodžio skaičių, tik pasikartojančias eilutes, nepaisyti simbolių ir palyginti konkrečius laukus. Tai viena iš dažniausiai naudojamų komandų Linux sistema. Jis dažnai naudojamas su rūšiavimo komanda nes lygina gretimus simbolius. Jis atmeta visas identiškas eilutes ir įrašo išvestį.
Sintaksė:
uniq [OPTION]... [INPUT [OUTPUT]]
Galimybės:
Kai kurios naudingos uniq komandos komandų eilutės parinktys yra šios:
-c, --count: jis nurodo eilutes pagal įvykių skaičių.
-d, - pakartojo: jis naudojamas spausdinti pasikartojančias eilutes, po vieną kiekvienai grupei.
-D: Jis naudojamas spausdinti visas pasikartojančias eilutes.
--visi kartojami[=METODAS]: Tai gana panaši į „-D“ parinktį, skirtumas tarp abiejų parinkčių yra tas, kad leidžia atskirti grupes tuščia eilute.
-f, --skip-fields=N: Jis naudojamas siekiant išvengti pirmųjų N laukų palyginimo.
--grupė[=METODAS]: Jis naudojamas rodyti visus elementus ir atskirti grupes tuščia eilute.
-i, --nepaisyti didžiųjų ir mažųjų raidžių: Jis naudojamas norint nepaisyti skirtumų lyginant.
-s, --skip-chars=N: Jis naudojamas siekiant išvengti pirmųjų N simbolių palyginimo.
-u, -unikalus: jis naudojamas unikalioms linijoms spausdinti.
-z, -- nulio pabaiga: Jis naudojamas, kai eilutės skyriklis yra NUL, o ne naujos eilutės režimas.
inurl:.git/head
-w, --check-chars=N: Jis naudojamas lyginant ne daugiau kaip N simbolių eilutėse.
--pagalba: Jis naudojamas pagalbos dokumentams rodyti.
-- versija: Jis naudojamas versijos informacijai rodyti.
Uniq komandos pavyzdžiai
Pažiūrėkime šiuos komandos uniq pavyzdžius:
string a int
- Pašalinkite pasikartojančias eilutes
- suskaičiuoti žodžio pasikartojimų skaičių
- Rodyti pasikartojančias eilutes
- Rodyti unikalias linijas
- Lyginant nekreipkite dėmesio į simbolius
- Ignoruokite laukus palygindami
Pašalinkite pasikartojančias eilutes
Norėdami pašalinti pasikartojančias eilutes iš failo, vykdykite pagrindinę uniq komandą taip:
sort dupli.txt | uniq
Aukščiau pateikta komanda pašalins pasikartojančias eilutes iš failo „dupli.txt“. Apsvarstykite toliau pateiktą išvestį:
Iš aukščiau pateiktos išvesties pasikartojantys žodžiai nepaisomi.
Suskaičiuokite žodžio pasikartojimų skaičių
Naudodami komandą uniq galime suskaičiuoti žodžio pasikartojimų skaičių. Žodžiui skaičiuoti naudojama parinktis „-c“. Vykdykite taip:
sort dupli.txt | uniq -c
Aukščiau pateikta komanda suskaičiuos žodžius, esančius „dupli.txt“. Apsvarstykite toliau pateiktą išvestį:
Iš aukščiau pateiktos išvesties komanda „sort dupli.txt | uniq -c' skaičiuoja, kiek kartų žodis kartojasi.
Rodyti pasikartojančias eilutes
Parinktis „-d“ naudojama tik pasikartojančioms eilutėms rodyti. Bus rodomos tik tos eilutės, kurios faile bus daugiau nei vieną kartą, ir įrašys išvestį į standartinę išvestį. Apsvarstykite toliau pateiktą komandą:
sort dupli.txt | uniq -d
Aukščiau pateikta komanda parodys tik pasikartojančias eilutes. Apsvarstykite toliau pateiktą išvestį:
Rodyti unikalias linijas
Parinktis „-u“ naudojama norint rodyti tik unikalias eilutes (kurios nesikartoja). Jis parodys tik vieną kartą pasitaikančias eilutes ir įrašys rezultatą į standartinę išvestį. Apsvarstykite toliau pateiktą komandą:
sort dupli.txt | uniq -u
Aukščiau pateikta komanda parodys tik unikalias eilutes iš failo „dupli.txt“. Apsvarstykite toliau pateiktą išvestį:
Lyginant nekreipkite dėmesio į simbolius
Parinktis „-s“ naudojama norint ignoruoti simbolius lyginant. Jis nepaisys nurodyto simbolių skaičiaus ir parodys rezultatą standartinėje išvestyje. Apsvarstykite toliau pateiktą komandą:
sort dupli.txt | uniq -s 2
Aukščiau pateikta komanda nepaisys pirmųjų dviejų simbolių, palyginti su failo „dupli.txt“. Apsvarstykite toliau pateiktą išvestį:
Ignoruokite laukus palygindami
Parinktis „-f“ naudojama laukams nepaisyti. Apsvarstykite toliau pateiktą komandą:
uniq -f 2 dupli2.txt
Aukščiau pateikta komanda nepalygins pirmųjų dviejų laukų iš failo „dupli2.txt“. Apsvarstykite toliau pateiktą išvestį:
Iš pirmiau pateiktos išvesties pirmieji du laukai praleidžiami, o likusieji visi laukai lyginami iš failo „dupli2.txt“.