The UNIX and Linux Forums  

Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
Het vinden van het totaal van een kolom met behulp van awk ironhead3fan Programmeren en Shell Scripting 8 01-30-2009 06:59
Hoe om te controleren Null-waarden in een bestand column van kolom of kolommen niet Null Mandab Programmeren en Shell Scripting 7 03-15-2008 09:57
dubbele bestanden vinden door de grootte en het vinden van patronen en het tellen jerome Sukumar Programmeren en Shell Scripting 2 12-01-2006 04:20
Vervang 10e kolom met een nieuwe kolom --- Terriblly haast ahmedwaseem2000 Programmeren en Shell Scripting 2 09-06-2005 02:10
Het vinden van een kolom in een PlatBestand peter.herlihy UNIX voor Dummies Questions & Answers 3 01-07-2002 08:08 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 11-21-2007
Donkey25 Donkey25 is offline
Geregistreerde gebruiker
  
 

Join Date: november 2007
Posts: 36
Het vinden van de meest voorkomende tekst in een kolom

Hoi,

Ik heb een bestand met 3 kolommen in dat zijn komma gescheiden en heeft ongeveer 5000 lijnen. Wat ik wil doen is het vinden van de meest voorkomende waarde in kolom 3 awk of met behulp van een shell script of wat dan ook werkt! Ik ben helemaal vast over hoe dit te doen.

bv

waarde1, waarde2, Bob
waarde1, waarde2, Bob
waarde1, waarde2, Bob
waarde1, waarde2, Dave
waarde1, waarde2, James

Duidelijk in het bovenstaande voorbeeld de populairste waarde in kolom3 is "Bob", maar hoe zou ik een script schrijven om dit op te lossen?

Many thanks
  #2 (permalink)  
Old 11-21-2007
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Moderator
  
 

Join Date: Feb 2005
Locatie: Boston, MA
Berichten: 5.122
nawk-f don.awk myfile

don.awk:
Code:
BEGIN {
  FS=","
}
{a[$3]++; if (a[$3] > comV) { comN=$3; comV=a[$3]} }
END {
    printf("Most Common Name: [%s] = [%d]\n", comN, comV)
}

Laatst gewijzigd door vgersh99; op 11.21.2007 12:08..
  #3 (permalink)  
Old 11-21-2007
summer_cherry summer_cherry is offline Forum Advisor  
Geregistreerde gebruiker
  
 

Join Date: Jun 2007
Locatie: Beijing China
Berichten: 1.088
awk

Hoi,
Dit moet ook goed voor je. Eigenlijk is deze zaak betrokken persormance probleem, omdat uw bestand heeft thousound en honderden lijnen. Zo moeilijk logica zal hebben verschillende resultaat.

Om eerlijk te zijn, ik weet alleen hoe je het resultaat, maar ik heb geen idee te geven van een high-performance-code. Dus je kunt beter vragen sommige deskundigen om hulp.

Hier komt mijn code:

Code:
awk 'BEGIN{
FS=","
n=0
}
{
sum[$3]++
if (sum[$3]>n)
{
	n=sum[$3]
	m=$3
}
}
END{
print m
}' filename
  #4 (permalink)  
Old 11-21-2007
drl's Avatar
DRL drl is offline Forum Advisor  
Geregistreerde gebruiker
  
 

Join Date: Apr 2007
Plaats: Saint Paul, MN USA / BSD, CentOS, Debian, OS X, Solaris
Posts: 712
Hoi.

Dus je bent bereid een (meer of minder) toevallige resultaat van een van de winnaars als er een band tussen twee of meer namen? ... cheers, DRL
  #5 (permalink)  
Old 11-22-2007
radoulov's Avatar
radoulov radoulov is online now Forum Staff  
addict
  
 

Join Date: Jan 2007
Locatie: Варна, България / Milano, Italia
Berichten: 2.892
Het zal volstaan om comN / m in de array.
  #6 (permalink)  
Old 11-22-2007
Donkey25 Donkey25 is offline
Geregistreerde gebruiker
  
 

Join Date: november 2007
Posts: 36
Bedankt jongens,

Ik heb van zowel de boven te werken, maar mijn CPU-gebruik hit 100% lol! Ideeën aan om deze efficiënter of beperking van het bedrag van de CPU dat deze awk script kan varkensdarm?

Nogmaals bedankt
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 04:28 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0