logo

unikali komanda „Linux“ su pavyzdžiais

The Unikalus „Linux“ komanda yra komandų eilutės programa, kuri praneša arba filtruoja pasikartojančias failo eilutes. Paprastais žodžiais, Unikalus yra įrankis, kuris padeda aptikti gretimas pasikartojančias eilutes ir taip pat ištrina pasikartojančias eilutes. Unikalus išfiltruoja gretimas atitinkančias eilutes iš įvesties failo (kuris reikalingas kaip argumentas) ir įrašo filtruotus duomenis į išvesties failą.

Turinys



Uniq komandos sintaksė

Pagrindinė ` sintaksė uniq`> komanda yra:

uniq [OPTIONS] [INPUT_FILE [OUTPUT_FILE]]>

Čia

  • `OPTIONS`> : pasirenkamos vėliavėlės, pakeičiančios ` elgseną uniq`> komandą.
  • `INPUT_FILE`> : kelias į įvesties failą, kuriame yra tekstinių duomenų. Jei nenurodyta, „ uniq`> nuskaito iš standartinės įvesties (dažniausiai klaviatūros).
  • `OUTPUT_FILE`> : kelias į išvesties failą, kuriame bus parašytos unikalios eilutės. Jei nenurodyta, „ uniq`> rašo į standartinę išvestį (dažniausiai terminalą).

Bendrosios parinktys uniq> komandą

Štai keletas įprastų parinkčių, kurias galima naudoti su ` uniq`> komanda:



Galimybės

apibūdinimas

-c, -skaičiuoti



Priešdėlio eilutės pagal įvykių skaičių įvestyje, po kurių rašomas tarpas.

-d, – pakartojo

Tik tos išvesties linijos, kurios kartojasi įvestyje.

-i, -nepaisyti didžiųjų ir mažųjų raidžių

Lygindami eilutes nekreipkite dėmesio į skirtumus.

-f, -praleisti laukai = N

Nelyginkite pirmųjų N laukų kiekvienoje eilutėje.

-s, -skip-chars=N

Nelyginkite pirmųjų N simbolių kiekvienoje eilutėje.

-u, -unikali

Tik tos išvesties linijos, kurios įvestyje yra unikalios.

` uniq`> komandą

Dabar pateikdami pavyzdį supraskime, kaip tai naudoti. Tarkime, kad turite tekstinį failą, pavadintą kt.txt, kuriame yra pasikartojančių eilučių, kurias reikia praleisti. Tai paprasčiausiai galima padaryti su uniq.

//displaying contents of kt.txt//   $cat kt.txt   I love music. I love music. I love music. I love music of Kartik. I love music of Kartik. Thanks.>

Kaip pašalinti pasikartojančias eilutes naudojant „uniq“ komandą

Norėdami pašalinti pasikartojančias eilutes iš ` kt.txt`> , galime naudoti ` uniq`> komanda:

uniq kt.txt>

pašalinti pasikartojančias eilutes

pašalinti pasikartojančias eilutes

Kaip matote, aukščiau esančiame unikaliame pavyzdyje mes tiesiog panaudojome įvesties failo pavadinimą ir nenaudojome jokio išvesties failo, kad išsaugotume pagamintą išvestį, komanda uniq parodė filtruotą išvestį standartinėje išvestyje su visais dublikatais. pašalintos linijos.

Pastaba: unikalus negali aptikti pasikartojančių eilučių, nebent jos yra greta viena kitos. Todėl failo turinys turi būti surūšiuotas prieš naudojant uniq arba galite tiesiog naudoti rūšiuoti -u vietoj unikalios komandos.

Kaip suskaičiuoti pasikartojančias eilutes naudojant „uniq“ komandą sistemoje „Linux“.

` -c`> parinktis prieš kiekvieną eilutę nurodo įvykių skaičių įvestyje:

uniq -c kt.txt>
Skaičiuojamas pasikartojančių eilučių atsiradimas

Skaičiuojamas pasikartojančių eilučių atsiradimas

Šiame pavyzdyje kiekvienos eilutės pradžioje rodomas pasikartojantis skaičius

Kaip rodyti pasikartojančias eilutes naudojant „uniq“ komandą „Linux“.

` -d`> parinktis spausdina tik pasikartojančias eilutes:

uniq -d kt.txt>
rodyti tik pasikartojančias eilutes

rodyti tik pasikartojančias eilutes

Kaip rodyti visas pasikartojančias eilutes naudojant „uniq“ komandą sistemoje „Linux“.

` -D`> parinktis spausdina visas pasikartojančias eilutes, o ne tik po vieną grupėje:

uniq -D kt.txt>
spausdina visas pasikartojančias eilutes

spausdina visas pasikartojančias eilutes

Kaip rodyti unikalias eilutes naudojant „uniq“ komandą sistemoje „Linux“.

` -u`> parinktis spausdina tik unikalias eilutes:

uniq -u kt.txt>

spausdina tik unikalias linijas

spausdina tik unikalias linijas

Praleidžiami pirmieji N laukeliai ( -f> variantas) „Uniq“ komandos naudojimas sistemoje „Linux“.

` -f N`> parinktis praleidžia pirmuosius N laukus prieš lyginant eilutes. Naudinga sunumeruotoms eilutėms:

uniq -f 2 f1.txt>

//rodomas f1.txt turinys//
1. Aš myliu muziką.
2. Aš myliu muziką.
3. Man patinka Kartik muzika.
4. Man patinka Kartik muzika.

„-s N“ parinktis

„-s N“ parinktis

Šiame pavyzdyje naudojamas 2, nes reikėjo palyginti eilutes po numeracijos 1,2... ir po taškų

Praleidžiami pirmieji N simboliai ( -s> variantas) „Uniq“ komandos naudojimas sistemoje „Linux“.

` -s N`> parinktis praleidžia pirmuosius N simbolius kiekvienoje eilutėje:

//rodomas f2.txt turinys//
#%@Aš myliu muziką.
^&(Aš myliu muziką.
*-!@dėkoju.
#%@!dėkoju.

uniq -s 3 f2.txt>

Šiame pavyzdyje eilutės taip pat filtruojamos po 3 simbolių praleidimo.

„-s N“ parinktis

„-s N“ parinktis

Apribojamas palyginimas su pirmaisiais N simboliais ( -w> variantas) „Uniq“ komandos naudojimas sistemoje „Linux“.

Naudojant -w parinktį: Panašiai kaip praleidžiant simbolius, taip pat galime paprašyti uniq apriboti palyginimą iki nustatyto simbolių skaičiaus. Tam naudojama komandų eilutės parinktis -w.

//rodomas f3.txt turinys//
Kaip tai įmanoma?
Kaip tai galima padaryti?
Kaip juo naudotis?

uniq -w 3 f3.txt>

Kadangi pirmieji 3 simboliai iš visų 3 eilučių yra vienodi, todėl uniq visus juos laikė dublikatais ir atitinkamai pateikė išvestį.

Naudojant -w parinktį

Naudojant -w parinktį

Lyginimas be didžiųjų ir mažųjų raidžių ( -i> variantas) „Uniq“ komandos naudojimas sistemoje „Linux“.

` -i`> parinktis daro palyginimą neskiriamą didžiųjų ir mažųjų raidžių:

//rodomas f4.txt turinys//
AŠ MYLIU MUZIKĄ
Aš myliu muziką
DĖKOJU

uniq f4.txt>

Čia eilutės nėra traktuojamos kaip dublikatai, naudojant paprastą uniq

//dabar naudojant -i parinktį//

uniq -i f4.txt>

Dabar antroji eilutė pašalinama, kai naudojama parinktis -i.

palyginimas neskiriamas didžiosioms ir mažosioms raidėms

palyginimas neskiriamas didžiosioms ir mažosioms raidėms

NULL nutraukta išvestis ( -z> variantas) „Uniq“ komandos naudojimas sistemoje „Linux“.

Naudojant -z parinktį: Pagal numatytuosius nustatymus išvesties uniq produkcija yra naujos eilutės pabaiga. Tačiau, jei norite, vietoj to norite turėti NULL užbaigtą išvestį (naudinga dirbant su uniq scenarijuose). Tai galima padaryti naudojant komandų eilutės parinktį -z.

java kaip nepaisyti

Sintaksė:

uniq -z file-name>

Išvada

Šiame straipsnyje aptarėmeuniq>„Linux“ komanda yra universalus įrankis, skirtas tvarkyti pasikartojančias tekstinių failų eilutes. Suprasdami įvairias jo parinktis, galite efektyviai valdyti ir apdoroti tekstinius duomenis. Eksperimentuokite su įvairiomis parinktimis ir pavyzdžiais, kad išmoktumėte naudotiuniq>komandą.

?list=PLqM7alHXFySFc4KtwEZTANgmyJm3NqS_L