Gumagawa ako ng isang diksyunaryo ng mga pinaka ginagamit na password, ang tanyag o madalas na ginagamit ng mga gumagamit (… Huwag tanungin kung bakit… HAHAHA), para dito kumukuha ako ng teksto mula sa iba pang mga dictionary atbp, ngunit, nahanap ko ang aking sarili sa sitwasyon na maraming mga duplicate na password, at kailangan kong alisin ang mga dobleng linya.
Sa madaling salita, halimbawa ... mayroon kaming sumusunod na file: pumasa.txt
At ang nilalaman nito ay:
asdasd
lola
mahalin
asdasd
bintana
admin
linux
asdasd
mahalin
Tulad ng nakikita natin, naulit namin «mahalin»At«asdasd«, Ang huli 3 beses. Paano alisin ang mga duplicate na linya?
Upang gawin ito ay simple, kasama ang utos na ito:
cat pass.txt | sort | uniq > pass-listos.txt
Lilikha ito ng isang file na tinawag pass-handa.txt na maglalaman ng:
admin
asdasd
linux
lola
mahalin
bintana
Ang ginagawa ng utos ay napaka-simple ...
- pass ng pusa.txt - »Ilista ang nilalaman ng file.
- uri - »Pagbukud-bukurin ayon sa alpabetikong nilalaman.
- kakaiba - »Tanggalin ang mga duplicate na linya.
- > pass-ready.txt - »Ang resulta ng nakaraang mga utos, ilagay ito sa file pass-ready.txt (na, dahil wala ito, lilikha nito)
Napakadaling iyon ... Natuklasan ko lang na ang utos uri oo, napakagandang ito ... ngunit, kasama ng kakaiba, sila ay isang hiyas ng sining 😀
Sana naging kapaki-pakinabang ka.
Regards
Maaari mo ring gamitin ang pag-uuri -u.
Binabati kita sa blog, gusto ko ito!
Oo tama
Wala, maraming salamat sa pagcomment 😀
Maligayang pagdating 😉
Regards
Ang problema doon ay binabago nito ang pagkakasunud-sunod ng mga salita, gumagana ito ... ngunit sa huli ang resulta ay naiiba nang marami sa orihinal sa pagkakasunud-sunod (na marahil sa ilang kaso mahalaga ito)
Oo nga, inuutos nito ang mga salitang ayon sa alpabeto, kaya kung kinakailangan ang nilalaman nang WALANG mga pagkakaiba-iba, ang solusyon na ito ay hindi ang perpektong solusyon.
Huwag maglibot, paano kung mangyari sa iyo na huwag ilagay ang utos ng pag-uuri? mangyaring mag-isip ng kaunti pa at hindi lahat ay ngumunguya.
pass ng pusa.txt | uniq> pass-ready.txt
hindi ito gumana, sinubukan ko ito
hindi gumagana dahil ang "paulit-ulit" na mga linya ay dapat na tuloy-tuloy
salamat
ito ay lubos na kapaki-pakinabang
Napakahusay! Isang simple at malinaw na solusyon. Gusto ko ng mga bagay na ganyan 🙂
Aaminin kong may gagawin ako sa Python ngunit ang solusyon na ito ay mabuti.
Salamat ^ - ^
Kamusta! napakahusay!
May query po ako
gagana ito para sa akin para sa sumusunod na halimbawa:
ABCD 1111
DEFG 2222 45455
ABCD 1111
DEFG 2222
Pareho ang mga hilera ngunit mayroon silang mga puwang at ilan pang mga character ... sinusuri ba nito ang parehong salita? o sa pamamagitan ng linya? Nagpapaliwanag ako?
simula ngayon, maraming salamat.
Isang yakap
Hi kung paano ito pupunta
Tulad ng nakita ko, kinukumpara nito ang mga linya at hindi mga haligi, kaya sa halimbawang binibigay mo sa akin na aalisin nito ang alinman sa ika-1 linya o ang ika-3, ang ika-2 at ika-4 na mga linya, kahit na halos magkapareho sila, hindi sila 100% magkapareho dahil mayroon silang pagkakaiba-iba ng haligi. 😉
Salamat sa komento ^ - ^
Salamat sa iyo!! bago ito tumagal ng isang oras para sa orakulo upang matanggal ang mga duplicate ... ngayon ay tumatagal ng 30 segundo sa uri ng pusa !!
Kinakailangan ko ito sa PHP: S
Uff ... Ako ay PHP, napaka-napaka-ikli ko, hindi talaga ako isang programmer 🙁
Sorry.
Para sa php mayroong array_unique (...) sa opisyal na dokumentasyon ng PHP makikita mo ang maraming mahalaga at mahusay na mga pag-andar ..
Tungkol sa uri, maliban kung kailangan mo ito, hindi kinakailangan ... Nasayang ang oras at memorya ng pagpapatupad. (para sa kung ano ang ginagawa sa post)
Pagbati!
Wow !! isang diksyunaryo upang magamit bilang brute force !! XD
Napakagandang kumbinasyon ng pag-uuri sa uniq! Malaki ang naitulong nito sa akin upang alisin ang mga dobleng linya.
Salamat
Ang komento ni Carlos, sa kabila ng kanyang kayabangan, ay hindi wasto. Sinabi niya na gamitin ang:
pass ng pusa.txt | uniq> pass-ready.txt
subalit ang isang paunang kinakailangan ng uniq ay ang file ay iniutos. Dapat ay naisip tungkol dito nang kaunti pa o nagtanong dati.
napakahusay, na-save mo ako ng maraming oras sa pagpapatakbo ng aking bash
awk '! array_temp [$ 0] ++' pass.txt> pass-ready.txt
kasama nito ang mga linya ay tinanggal nang hindi kinakailangang mag-order.
Maraming salamat sa kontribusyon!
Bagaman magiging cool na magawa itong natatanging nang hindi binabago ang pagkakasunud-sunod, ngunit hey, isang madali at kapaki-pakinabang na utos!
Salamat, malaki ang naitulong nito sa akin 😉
meron ako nito
C000006158880201502051056088364 C00-06158880
C000007601673201503051056088364 C00-07601673
C000008659304201504051056088364 C00-08659304
T 0809074070562015120818144287185REAÑO RUBIÑOS EMILIA DORIS
T 0809092979972016010818144287185REAÑO RUBIÑOS EMILIA DORIS
C000005398451201501231044214375 C00-05398451
C000007674996201503051000000286 C00-07674996
C000008514288201504051000000463 C00-08514288
C000011613498201506051056088070 C00-11613498
Paano ko makukuha ito upang ipinta lamang ang mga duplicate bawat subscriber sa isang file at iwanan ang mga hindi duplicate sa iba?
ang subscriber ay nasa pos 23 (10 posisyon)
pag-uuri -u -k 1,1 File.txt> resulta.txt
Pinagsasama nito ang file sa pamamagitan ng unang patlang
2020 at nagsisilbi pa rin, maraming salamat!
Paano ko ito maaring makita kung paano mo ito makukuha ng teksto ng file sa Linux o Windows? Kung hindi ka makakakuha ng isang file na ito, maaari kang mag-file ng file na ito upang mai-file ang file na ito upang mai-file ang file na ito? Ví d File: File 1 của tôi co 5 dông, file 2 co 15 dòng (co 2 dùng trùng lặp với File 1. Tíi muản co kết quả, File 1 v 5n giữ nguyên 2 dòng, File 2 th File only bỏ 1 dòng giống file XNUMX .
Kung hindi mo ito maikli sa iyong file na txt đó lại với nhau, vì những file text từ điển rất ư là nhiều ký, chẳng hạn như Rockyou. Sa pamamagitan ng iyong Windows Vista, maaari mong makita ang isang Windows Vista. 🙂 Hy vọng nhận được phản hồi từ bạn!