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.
Natisnite samo ponavljajoče se vrstice
Č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
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 SharmaNaroč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