logo

uniq komanda operētājsistēmā Linux ar piemēriem

The unikāla komanda Linux ir komandrindas utilīta, kas ziņo vai filtrē atkārtotās faila rindas. Vienkāršiem vārdiem sakot, unikāla ir rīks, kas palīdz noteikt blakus esošās dublētās rindas un arī dzēš dublētās līnijas. unikāla filtrē blakus esošās atbilstošās rindas no ievades faila (kas ir nepieciešams kā arguments) un ieraksta filtrētos datus izvades failā.

Satura rādītājs



Unikālās komandas sintakse

` pamata sintakse uniq`> komanda ir:

uniq [OPTIONS] [INPUT_FILE [OUTPUT_FILE]]>

Šeit,

  • `OPTIONS`> : izvēles karodziņi, kas maina ` darbību uniq`> komandu.
  • `INPUT_FILE`> : ceļš uz ievades failu, kurā ir teksta dati. Ja nav norādīts, ` uniq`> lasa no standarta ievades (parasti tastatūras).
  • `OUTPUT_FILE`> : ceļš uz izvades failu, kurā tiks ierakstītas unikālās rindas. Ja nav norādīts, ` uniq`> raksta uz standarta izvadi (parasti termināli).

Kopējās opcijas uniq> Pavēli

Šeit ir dažas izplatītas opcijas, kuras var izmantot ar ` uniq`> komanda:



Iespējas

Apraksts

-c, -count



Prefiksa rindas pēc ievades gadījumu skaita, kam seko atstarpe.

-d, – atkārtoja

Tikai izvadlīnijas, kas tiek atkārtotas ievadē.

-i, -ignorēt-reģistrs

Salīdzinot līnijas, ignorējiet atšķirības.

-f, -skip-fields=N

Izvairieties no pirmo N lauku salīdzināšanas katrā rindā.

-s, -skip-chars=N

Izvairieties salīdzināt pirmās N rakstzīmes katrā rindā.

-u, -unikāls

Tikai izvadlīnijas, kas ievadē ir unikālas.

Piemēri ` uniq`> Pavēli

Tagad sapratīsim tā izmantošanu, izmantojot piemēru. Pieņemsim, ka jums ir teksta fails ar nosaukumu kt.txt, kurā ir atkārtotas rindas, kuras ir jāizlaiž. To var vienkārši izdarīt ar 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.>

Kā noņemt dublētās rindas, izmantojot komandu “uniq”.

Lai noņemtu rindiņu dublikātus no ` kt.txt`> , mēs varam izmantot ` uniq`> komanda:

uniq kt.txt>

noņemiet dublētās rindas

noņemiet dublētās rindas

Kā redzat, mēs tikko izmantojām ievades faila nosaukumu iepriekš minētajā uniq piemērā un tā kā mēs neizmantojām nevienu izvades failu, lai saglabātu saražoto izvadi, komanda uniq parādīja filtrēto izvadi standarta izvadē ar visiem dublikātiem. līnijas noņemtas.

Piezīme: unikāls nevar noteikt dublētās līnijas, ja vien tās nav blakus viena otrai. Tāpēc faila saturs ir jāsakārto pirms uniq lietošanas, vai arī varat to vienkārši izmantot šķirot -u unikālās komandas vietā.

Kā saskaitīt dublētās rindas, izmantojot komandu “uniq” operētājsistēmā Linux

` -c`> opcija prefiksē katru rindiņu ar ievades gadījumu skaitu:

stlc
uniq -c kt.txt>
Rindu dublikātu skaitīšana

Rindu dublikātu skaitīšana

Šajā piemērā katras rindas sākumā tiek parādīts tās atkārtotais numurs

Kā parādīt atkārtotas rindas, izmantojot komandu 'uniq' operētājsistēmā Linux

` -d`> opcija drukā tikai dublētās rindas:

uniq -d kt.txt>
parādīt tikai dublētās rindas

parādīt tikai dublētās rindas

Kā parādīt visas dublētās rindas, izmantojot komandu 'uniq' operētājsistēmā Linux

` -D`> opcija drukā visas dublētās rindas, nevis tikai vienu no katras grupas:

uniq -D kt.txt>
izdrukā visas dublētās rindas

izdrukā visas dublētās rindas

Kā parādīt unikālas līnijas, izmantojot komandu 'uniq' operētājsistēmā Linux

` -u`> opcija drukā tikai unikālas līnijas:

uniq -u kt.txt>

drukā tikai unikālas līnijas

drukā tikai unikālas līnijas

Pirmo N lauku izlaišana ( -f> variants) Izmantojot komandu “uniq” operētājsistēmā Linux

` -f N`> opcija izlaiž pirmos N laukus pirms līniju salīdzināšanas. Noderīga numurētām rindām:

uniq -f 2 f1.txt>

//tiek rādīts faila f1.txt saturs//
1. Es mīlu mūziku.
2. Es mīlu mūziku.
3. Man patīk Kartik mūzika.
4. Man patīk Kartik mūzika.

Opcija “-s N”.

Opcija “-s N”.

Šajā piemērā tiek izmantots 2, jo mums bija jāsalīdzina rindas pēc numerācijas 1,2.. un pēc punktiem

Pirmo N rakstzīmju izlaišana ( -s> variants) Izmantojot komandu “uniq” operētājsistēmā Linux

` -s N`> opcija izlaiž pirmās N rakstzīmes katrā rindā:

//tiek rādīts faila f2.txt saturs//
#%@Man patīk mūzika.
^&(Man patīk mūzika.
*-!@Paldies.
#%@!Paldies.

uniq -s 3 f2.txt>

Šajā piemērā rindas tiek filtrētas pēc 3 rakstzīmju izlaišanas.

Opcija “-s N”.

Opcija “-s N”.

Ierobežot salīdzinājumu ar pirmajām N rakstzīmēm ( -w> variants) Izmantojot komandu “uniq” operētājsistēmā Linux

Izmantojot opciju -w: Līdzīgi kā rakstzīmju izlaišanas veidā, mēs varam arī lūgt uniq ierobežot salīdzināšanu ar noteiktu rakstzīmju skaitu. Šim nolūkam tiek izmantota komandrindas opcija -w.

//tiek rādīts faila f3.txt saturs//
Kā tas ir iespējams?
Kā to var izdarīt?
Kā to izmantot?

uniq -w 3 f3.txt>

Tā kā visu 3 rindiņu pirmās 3 rakstzīmes ir vienādas, tāpēc uniq visas tās uzskatīja par dublikātiem un attiecīgi sniedza izvadi.

Izmantojot opciju -w

Izmantojot opciju -w

reģistrjutīgs salīdzinājums ( -i> variants) Izmantojot komandu “uniq” operētājsistēmā Linux

` -i`> opcija padara salīdzinājumu nejutīgu pret reģistru:

ymail

//tiek rādīts faila f4.txt saturs//
ES MĪLU MŪZIKA
es mīlu mūziku
PALDIES

uniq f4.txt>

Šeit rindas netiek uzskatītas par dublikātiem, vienkārši izmantojot uniq

//tagad izmantojot opciju -i//

uniq -i f4.txt>

Tagad otrā rinda tiek noņemta, kad tiek izmantota opcija -i.

salīdzinājums nav reģistrjutīgs

salīdzinājums nav reģistrjutīgs

NULL pārtraukta izvade ( -z> variants) Izmantojot komandu “uniq” operētājsistēmā Linux

Izmantojot opciju -z: Pēc noklusējuma izvades uniq producētā rindiņa ir pārtraukta. Tomēr, ja vēlaties, tā vietā vēlaties iegūt NULL izvadi (noderīga, strādājot ar uniq skriptos). To var padarīt iespējamu, izmantojot komandrindas opciju -z.

Sintakse:

uniq -z file-name>

Secinājums

Šajā rakstā mēs apspriedāmuniq>komanda Linux ir daudzpusīgs rīks teksta failu rindiņu dublikātu apstrādei. Izprotot tās dažādās iespējas, varat efektīvi pārvaldīt un apstrādāt teksta datus. Eksperimentējiet ar dažādām iespējām un piemēriem, lai apgūtu tās lietošanuuniq>komandu.

?list=PLqM7alHXFySFc4KtwEZTANgmyJm3NqS_L