[ elizabetaz @ 02.02.2012. 08:43 ] @
Instaliran je RedHat 5..

Imam datoteku koja je tipa :

e-mail adresa kor.ime (Znači dva polja u datoteci).

Inače je to jednoznačno e-mail adresi je baš pridjeljeno odgovarajuće kor.ime.

Postoje aliasi tj. više e.mail adresa a uz koje ide jedno korisničko ime i ja to trebam izvući? Znači sve takve korisnike koje imaju višestruke e-mail adrese a isto kor.ime

e-mail adresa1 kor.ime1
e-mail adresa2 kor.ime1
e-mail adresa3 kor.ime1


Jel ima nešto zgodno sa awk možda???
[ elizabetaz @ 02.02.2012. 10:50 ] @
Probala sam awk '$2 ~/1/' datoteka > file.txt ali ne radi

Dakle, ja hoću izvući iz datoteke sva kor.imena koja uz svoje jedinstveno kor.ime imaju pridjeljeno više e-mail adresa.

Hoću izvući sve slučajeve

e-mail adresa1 kor.ime1
e-mail adresa2 kor.ime1
e-mail adresa3 kor.ime1 e-mail adrese 1,2,3 su naravno različite za kor.ime1 i kor.ime2

e-mail adresa1 kor.ime2
e-mail adresa2 kor.ime2
e-mail adresa3 kor.ime2


U većini slučajeva kažem jedinstvena je e-mail adresa i kor.ime.

Ali mene zanima kako izvući ove što imaju aliase, dakle uz jedinstveno kor.ime postoji nekoliko mail adresa..



[ dany12 @ 02.02.2012. 11:02 ] @
Code:
awk 'NR==FNR && a[$2]++ {b[$2];next} $2 in b' datoteka datoteka


Ovo bi trebalo da radi ako ti je e-mail adresa jedna rec,sto i jeste slucaj.Ovo sto je gore napisano ne moze da se testira zato sto je rec e-mail odvojena od reci adresa,a awk testira drugu rec od pocetka.Samo pazi da napises dva puta naziv datoteke koju proveravas.
[ djoka_l @ 02.02.2012. 11:36 ] @
Probao sam tvoj awk kod, ali mi ne radi, evo mog rešenja:

Code:

awk '{alias[$2]++} END {for(i in alias) if(alias[i]>1) print i}' datoteka
[ maksvel @ 02.02.2012. 11:55 ] @
Možda i ovako nešto:
cut -d " " -f2 datoteka | sort | uniq -d

(ako je space između email i username)
[ dany12 @ 02.02.2012. 13:10 ] @
Citat:
djoka_l: Probao sam tvoj awk kod, ali mi ne radi, evo mog rešenja:

Code:

awk '{alias[$2]++} END {for(i in alias) if(alias[i]>1) print i}' datoteka


E sad pitanje je da li smo dobro razumeli sta @elizabetaz zeli,da li da isprinta samo korisnicko ime ili celu liniju zajedno sa e-mail adresom.
[ maksvel @ 02.02.2012. 13:18 ] @
Kako je rekla, valjda samo usernames..

Citat:
ja hoću izvući iz datoteke sva kor.imena koja uz svoje jedinstveno kor.ime imaju pridjeljeno više e-mail adresa.
[ dany12 @ 02.02.2012. 13:40 ] @
Citat:
maksvel: Kako je rekla, valjda samo usernames..


To je onda jednostavnije,ovako nekako

Code:
awk 'a[$2]++==1 {print $2}' datoteka
[ djoka_l @ 02.02.2012. 14:21 ] @
Jest prostije tvoje rešenje, samo što će ispisati više puta jedan username koji se pojavljuje više od 2 puta...
[ maksvel @ 02.02.2012. 14:29 ] @
Hm, meni lepo radi...
[ djoka_l @ 02.02.2012. 14:33 ] @
Moja greška - nisam se preterano udubio u program. Svaka čast!
[ elizabetaz @ 14.02.2012. 13:19 ] @
Hvala na rješenju:-)