Kako najti podvojene podatke v besedilni datoteki Linux z uniq

Kako najti podvojene podatke v besedilni datoteki Linux z uniq

Ste že kdaj naleteli na besedilne datoteke s ponavljajočimi se vrsticami in podvojenimi besedami? Morda redno delate z izhodom ukazov in jih želite filtrirati za različne nize. Kar zadeva besedilne datoteke in odstranjevanje odvečnih podatkov v Linuxu, je ukaz uniq najboljša izbira.





V tem članku bomo podrobno razpravljali o ukazu uniq skupaj s podrobnim vodnikom o tem, kako z ukazom odstraniti podvojene vrstice iz besedilne datoteke.





Kaj je ukaz uniq?

Ukaz uniq v Linuxu se uporablja za prikaz enakih vrstic v besedilni datoteki. Ta ukaz je lahko v pomoč, če želite iz besedilne datoteke odstraniti podvojene besede ali nize. Ker ukaz uniq ustreza sosednjim vrsticam za iskanje odvečnih kopij, deluje le z razvrščenimi besedilnimi datotekami.





Na srečo lahko prenesete cev razvrsti ukaz z uniq za urejanje besedilne datoteke na način, ki je združljiv z ukazom. Poleg prikaza ponavljajočih se vrstic lahko ukaz uniq šteje tudi pojav podvojenih vrstic v besedilni datoteki.

Kako uporabljati ukaz uniq

Z uniq -om lahko uporabite različne možnosti in zastavice. Nekateri so osnovni in izvajajo preproste operacije, na primer tiskanje ponavljajočih se vrstic, drugi pa za napredne uporabnike, ki pogosto delajo z besedilnimi datotekami v Linuxu.



Osnovna skladnja

Osnovna skladnja ukaza uniq je:

uniq option input output

...kje možnost je zastava, ki se uporablja za priklic posebnih metod ukaza, vnos je besedilna datoteka za obdelavo in izhod je pot datoteke, ki bo shranila izhod.





The izhod argument ni obvezen in ga je mogoče preskočiti. Če uporabnik ne določi vhodne datoteke, uniq za vhod vzame podatke iz standardnega izhoda. To uporabniku omogoča, da posreduje uniq z drugi ukazi Linuxa .

Primer besedilne datoteke

Uporabili bomo besedilno datoteko duplicate.txt kot vhod za ukaz.





127.0.0.1 TCP
127.0.0.1 UDP
Do catch this
DO CATCH THIS
Don't match this
Don't catch this
This is a text file.
This is a text file.
THIS IS A TEXT FILE.
Unique lines are really rare.

Upoštevajte, da smo to besedilno datoteko že razvrstili s pomočjo razvrsti ukaz. Če delate z drugo besedilno datoteko, jo lahko razvrstite z naslednjim ukazom:

sort filename.txt > sorted.txt

Odstranite podvojene vrstice

Najosnovnejša uporaba uniq je odstraniti ponavljajoče se nize iz vhoda in natisniti edinstven izhod.

uniq duplicate.txt

Izhod:

Upoštevajte, da sistem ne prikaže drugega pojavljanja vrstice To je besedilna datoteka . Prav tako omenjeni ukaz natisne samo edinstvene vrstice v datoteki in ne vpliva na vsebino izvirne besedilne datoteke.

Štejte ponavljajoče se vrstice

Če želite prikazati število ponovljenih vrstic v besedilni datoteki, uporabite -c zastavo s privzetim ukazom.

uniq -c duplicate.txt

Izhod:

Sistem prikaže število vsake vrstice, ki obstaja v besedilni datoteki. Vidite lahko to črto To je besedilna datoteka se dvakrat pojavi v datoteki. Ukaz uniq privzeto razlikuje velike in male črke.

Če želite iz besedilne datoteke natisniti samo podvojene vrstice, uporabite -D zastavo. The -D pomeni Podvojeno .

uniq -D duplicate.txt

Sistem bo prikazal izhod na naslednji način.

This is a text file.
This is a text file.

Preskočite polja med preverjanjem dvojnikov

Če želite preskočiti določeno število polj, medtem ko ujemate nize, lahko uporabite -f zastavo z ukazom. The -f pomeni Polje .

Razmislite o naslednji besedilni datoteki fields.txt .

192.168.0.1 TCP
127.0.0.1 TCP
354.231.1.1 TCP
Linux FS
Windows FS
macOS FS

Če želite preskočiti prvo polje:

uniq -f 1 fields.txt

Izhod:

192.168.0.1 TCP
Linux FS

Omenjeni ukaz je preskočil prvo polje (naslove IP in imena OS) in se ujemal z drugo besedo (TCP in FS). Nato je kot izhod prikazal prvi pojav vsakega ujemanja.

Ignoriraj znake pri primerjavi

Tako kot preskakovanje polj lahko tudi preskočite znake. The -s flag vam omogoča, da določite število znakov, ki jih želite preskočiti, pri tem pa ujemati podvojene vrstice. Ta funkcija pomaga, če so podatki, s katerimi delate, v obliki seznama, kot sledi:

kako očistiti računalnik Windows 10
1. First
2. Second
3. Second
4. Second
5. Third
6. Third
7. Fourth
8. Fifth

Če želite prezreti prva dva znaka (oštevilčenje seznama) v datoteki list.txt :

uniq -s 2 list.txt

Izhod:

V zgornjem izhodu sta bila prva dva znaka prezrta, preostali pa ujemajo za edinstvene vrstice.

Najprej preverite število znakov za dvojnike

The -v flag omogoča preverjanje samo določenega števila znakov za podvojene. Na primer:

uniq -w 2 duplicate.txt

Zgoraj omenjeni ukaz se bo ujemal samo s prvima dvema znakoma in natisnil edinstvene vrstice, če obstajajo.

Izhod:

Odstrani občutljivost velikih in malih črk

Kot je omenjeno zgoraj, uniq razlikuje velike in male črke, medtem ko ujema vrstice v datoteki. Če želite prezreti velike črke, uporabite -jaz možnost z ukazom.

uniq -i duplicate.txt

Videli boste naslednji izhod.

Opomba v zgornjem izhodu uniq ni prikazal vrstic UJEMITE TO in TO JE BESEDILNA DATOTEKA .

Pošlji izhod v datoteko

Če želite izhod ukaza uniq poslati v datoteko, lahko uporabite datoteko Preusmeritev izhoda ( > ), kot sledi:

uniq -i duplicate.txt > otherfile.txt

Med pošiljanjem izpisa v besedilno datoteko sistem ne prikaže izpisa ukaza. Vsebino nove datoteke lahko preverite s pomočjo mačka ukaz.

cat otherfile.txt

Uporabite lahko tudi druge načine pošljite izpis ukazne vrstice v datoteko v Linuxu .

Analiza podvojenih podatkov z uniq

Večino časa med upravljanjem strežnikov Linux boste delali na terminalu ali urejali besedilne datoteke. Zato je znanje o tem, kako odstraniti odvečne kopije vrstic v besedilni datoteki, veliko koristno za vaš nabor spretnosti v sistemu Linux.

Delo z besedilnimi datotekami je lahko frustrirajuće, če ne veste, kako filtrirati in razvrstiti besedilo v datoteki. Za lažje delo ima Linux več ukazov za urejanje besedila, kot je npr sed in awk ki vam omogočajo učinkovito delo z besedilnimi datotekami in izhodi ukazne vrstice.

Deliti Deliti Cvrkutati E-naslov Teh 10 primerov Sed vas bo naredilo za uporabnika Linuxa

Želite postati močan uporabnik Linuxa? Razumevanje s sedom bo pomagalo. Učite se iz teh 10 primerov sed.

Preberite Naprej
Sorodne teme
  • Linux
  • Linux
O avtorju Deepesh Sharma(79 objavljenih člankov)

Deepesh je mlajši urednik za Linux pri MUO. Piše informacijske vodnike za Linux, s katerimi želi vsem novincem ponuditi blaženo izkušnjo. Glede filmov nisem prepričan, če pa želite govoriti o tehnologiji, je vaš fant. V prostem času ga lahko berete, poslušate različne glasbene zvrsti ali igrate na kitaro.

Več od Deepesh Sharma

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e -knjige in ekskluzivne ponudbe!

Kliknite tukaj, da se naročite