Paano Makahanap ng Dobleng Data sa isang Linux Text File Na may uniq

Paano Makahanap ng Dobleng Data sa isang Linux Text File Na may uniq

Naranasan mo na ba ang mga text file na may paulit-ulit na mga linya at mga duplicate na salita? Marahil ay regular kang nagtatrabaho sa output ng utos at nais na salain ang mga iyon para sa natatanging mga string. Pagdating sa mga file ng teksto at pag-aalis ng kalabisan na data sa Linux, ang uniq na utos ang iyong pinakamahusay na mapagpipilian.





Sa artikulong ito, tatalakayin namin ang malalim na utos ng uniq, kasama ang isang detalyadong gabay sa kung paano gamitin ang utos upang alisin ang mga dobleng linya mula sa isang text file.





Ano ang uniq Command?

Ginagamit ang uniq command sa Linux upang ipakita ang magkatulad na mga linya sa isang text file. Ang utos na ito ay maaaring maging kapaki-pakinabang kung nais mong alisin ang mga duplicate na salita o mga string mula sa isang text file. Dahil tumutugma ang uniq na utos sa mga katabing linya para sa paghahanap ng mga kalabisan na kopya, gumagana lamang ito sa mga pinagsunod-sunod na mga file ng teksto.





Sa kabutihang palad, maaari mong tubo ang pag-uri-uriin utos na may uniq upang ayusin ang teksto ng file sa isang paraan na katugma sa utos. Bukod sa pagpapakita ng mga paulit-ulit na linya, maaari ring bilangin ng utos ng uniq ang paglitaw ng mga duplicate na linya sa isang text file.

Paano Magamit ang uniq Command

Mayroong iba't ibang mga pagpipilian at watawat na maaari mong gamitin sa uniq. Ang ilan sa mga ito ay pangunahing at nagsasagawa ng mga simpleng operasyon tulad ng pag-print ng paulit-ulit na mga linya, habang ang iba ay para sa mga advanced na gumagamit na madalas na nagtatrabaho sa mga text file sa Linux.



Pangunahing Syntax

Ang pangunahing syntax ng uniq na utos ay:

uniq option input output

... saan pagpipilian ang watawat na ginamit upang humingi ng mga tiyak na pamamaraan ng utos, input ay ang file ng teksto para sa pagproseso, at output ay ang landas ng file na mag-iimbak ng output.





Ang output ang pagtatalo ay opsyonal at maaaring laktawan. Kung hindi tinukoy ng isang gumagamit ang file ng pag-input, kukuha ang uniq ng data mula sa karaniwang output bilang input. Pinapayagan nito ang isang gumagamit na mag-tubo ng uniq iba pang mga utos ng Linux .

Halimbawa ng File ng Teksto

Gagamitin namin ang file ng teksto duplicate.txt bilang input para sa utos.





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.

Tandaan na naayos na namin ang text file na ito gamit ang pag-uri-uriin utos Kung nagtatrabaho ka sa ilang iba pang file ng teksto, maaari mo itong ayusin ayon sa sumusunod na utos:

sort filename.txt > sorted.txt

Alisin ang Mga Dobleng Linya

Ang pinaka-pangunahing paggamit ng uniq ay upang alisin ang paulit-ulit na mga string mula sa input at i-print ang natatanging output.

uniq duplicate.txt

Output:

Pansinin na hindi ipinapakita ng system ang pangalawang paglitaw ng linya Ito ay isang file ng teksto . Gayundin, ang nabanggit na utos ay naglilimbag lamang ng mga natatanging linya sa file at hindi nakakaapekto sa nilalaman ng orihinal na file ng teksto.

Bilangin ang mga Umuulit na Linya

Upang mai-output ang bilang ng mga paulit-ulit na linya sa isang text file, gamitin ang -c bandila kasama ang default na utos.

uniq -c duplicate.txt

Output:

Ipinapakita ng system ang bilang ng bawat linya na umiiral sa text file. Maaari mong makita ang linya Ito ay isang file ng teksto nangyayari ng dalawang beses sa file. Bilang default, ang uniq na utos ay case-sensitive.

Upang mai-print lamang ang mga dobleng linya mula sa text file, gamitin ang -D bandila. Ang -D ibig sabihin Kopyahin .

uniq -D duplicate.txt

Ipapakita ng system ang output tulad ng sumusunod.

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

Laktawan ang Mga Patlang Habang Sinusuri ang Mga Duplikado

Kung nais mong laktawan ang isang tiyak na bilang ng mga patlang habang tumutugma sa mga string, maaari mong gamitin ang -f watawat kasama ang utos. Ang -f ibig sabihin Patlang .

Isaalang-alang ang sumusunod na file ng teksto mga patlang.txt .

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

Upang laktawan ang unang patlang:

uniq -f 1 fields.txt

Output:

192.168.0.1 TCP
Linux FS

Nilaktawan ng nabanggit na utos ang unang patlang (ang mga IP address at mga pangalan ng OS) at tumugma sa pangalawang salita (TCP at FS). Pagkatapos, ipinakita nito ang unang paglitaw ng bawat tugma bilang output.

Huwag pansinin ang Mga Character Kapag Naghahambing

Tulad ng paglaktaw ng mga patlang, maaari mo ring laktawan ang mga character din. Ang -s Pinapayagan ka ng watawat na tukuyin ang bilang ng mga character na lumaktaw habang tumutugma sa mga dobleng linya. Ang tampok na ito ay makakatulong kapag ang data na iyong pinagtatrabahuhan ay nasa anyo ng isang listahan tulad ng sumusunod:

kung paano i-uninstall ang mga na-preinstall na app sa android nang walang ugat
1. First
2. Second
3. Second
4. Second
5. Third
6. Third
7. Fourth
8. Fifth

Upang huwag pansinin ang unang dalawang mga character (ang listahan ng mga numero) sa file listahan.txt :

uniq -s 2 list.txt

Output:

Sa output sa itaas, ang unang dalawang character ay hindi pinansin at ang natitira sa kanila ay naitugma sa mga natatanging linya.

Suriin ang Unang Bilang ng Mga Character para sa Mga Duplicate

Ang -sa Pinapayagan ka ng watawat na suriin lamang ang isang nakapirming bilang ng mga character para sa mga duplicate. Halimbawa:

uniq -w 2 duplicate.txt

Ang nabanggit na utos ay tutugma lamang sa unang dalawang character at mai-print ang mga natatanging linya kung mayroon man.

Output:

Alisin ang Sensitivity ng Kaso

Tulad ng nabanggit sa itaas, ang uniq ay case-sensitive habang tumutugma ang mga linya sa isang file. Upang huwag pansinin ang kaso ng character, gamitin ang -ako pagpipilian kasama ang utos.

uniq -i duplicate.txt

Makikita mo ang sumusunod na output.

Pansinin ang output sa itaas, hindi ipinakita ng uniq ang mga linya GAWIN MO ITO at ITO AY TEXT FILE .

Magpadala ng Output sa isang File

Upang maipadala ang output ng utos ng uniq sa isang file, maaari mong gamitin ang Pag-redirect ng Output ( > ) character tulad ng sumusunod:

uniq -i duplicate.txt > otherfile.txt

Habang nagpapadala ng isang output sa isang text file, hindi ipinapakita ng system ang output ng utos. Maaari mong suriin ang nilalaman ng bagong file gamit ang pusa utos

cat otherfile.txt

Maaari mo ring gamitin ang iba pang mga paraan upang magpadala ng output line ng utos sa isang file sa Linux .

Pagsusuri sa Dobleng Data Sa uniq

Karamihan sa mga oras habang pinamamahalaan ang mga server ng Linux, gagana ka sa terminal o mag-e-edit ng mga file ng teksto. Samakatuwid, ang pag-alam kung paano alisin ang mga kalabisan na mga kopya ng mga linya sa isang text file ay maaaring maging isang mahusay na pag-aari sa iyong hanay ng kasanayan sa Linux.

Ang pagtatrabaho sa mga file ng teksto ay maaaring maging nakakabigo kung hindi mo alam kung paano mag-filter at pag-uri-uriin ang teksto sa isang file. Upang gawing mas madali ang iyong trabaho, ang Linux ay may maraming mga utos sa pag-edit ng teksto tulad ng sed at ang awkward na nagbibigay-daan sa iyo upang gumana nang mahusay sa mga file ng teksto at output ng command-line.

Magbahagi Magbahagi Mag-tweet Email Ang 10 Mga Halimbawang Sed na Ito Ay Gagawin Ka Ng Isang Gumagamit ng Linux Power

Nais mong maging isang gumagamit ng kapangyarihan sa Linux? Makakatulong ang pagkuha sa mahigpit na pagkakahawak sa sed. Alamin mula sa 10 halimbawa ng sed.

Basahin Susunod
Mga Kaugnay na Paksa
  • Linux
  • Linux
Tungkol sa May-akda Deepesh Sharma(79 na Artikulo Nai-publish)

Ang Deepesh ay ang Junior Editor para sa Linux sa MUO. Nagsusulat siya ng mga gabay sa kaalaman sa Linux, na naglalayong magbigay ng isang maligayang karanasan sa lahat ng mga bagong dating. Hindi sigurado tungkol sa mga pelikula, ngunit kung nais mong pag-usapan ang tungkol sa teknolohiya, siya ang iyong tao. Sa kanyang libreng oras, mahahanap mo siya na nagbabasa ng mga libro, nakikinig sa iba't ibang mga genre ng musika, o tumutugtog ng kanyang gitara.

Higit pa Mula sa Deepesh Sharma

Mag-subscribe sa aming newsletter

Sumali sa aming newsletter para sa mga tip sa tech, pagsusuri, libreng ebook, at eksklusibong deal!

Mag-click dito upang mag-subscribe