The UNIX and Linux Forums  
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Array problem ajgwin Shell Programmering og Scripting 0 05-27-2008 10:36 AM
Problemet med array \u003d ($ (finde ....) jul Shell Programmering og Scripting 1 02-27-2008 04:28 PM
Problemet med det tomme rum i array kamicasse UNIX for dummyer Spørgsmål & svar 4 12-06-2007 02:40 PM
Point og Array Konverter Problem zhshqzyc Højtstående Programmering 0 02-25-2006 09:28 PM
char array problem DebianJ Højtstående Programmering 4 06-25-2005 11:41 AM

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 Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 02-09-2007
shary shary is offline
Registreret Bruger
  
 

Join Date: Jan 2007
Stillinger: 61
array problem

Kære Eksperter,

behage hjælp mig ud igen min array begreber er ikke helt klart, jeg har en tekstfil gerne.
1 | USA | hh
2 | USA | ll
3 | USA | vg
4 | uk | nn
5 | uk | bb
6 | Kuwait | mm
6 | Kuwait | jkj
7 | Dubai | hh

Jeg ønsker at gemme den tredje ceret i en tekstfil i han array og efter at det skulle give mig nogle rapporter som denne

tredje felt tæller
USA 3
UK 2
Kuwait 2
Dubai 1
Det bør opbevares tredje felt i de array og give mig tælle, hvor mange gange et hvilket som helst navn appeared.the tredje felt kan være alfanumerisk.
du kan ethvert organ fortælle mig, hvordan dette skal gøres ved hjælp af array.

Hilsen,
Shary
  #2 (permalink)  
Old 02-09-2007
sumeet sumeet is offline
Registreret Bruger
  
 

Join Date: Nov 2006
Stillinger: 33
prøv dette:

selv jeg har været på udkig efter et awk script for, at dens noget lignende
gruppe af kolonner og derefter optællingen.

Jeg har awk at gøre gruppen af og summen:

awk-F, '(sum [$ 1, $ 2, $ 3] + \u003d $ 4) END (for (i i sum) print i, sum [i])' data.

Tak
SUmeet
  #3 (permalink)  
Old 02-09-2007
shary shary is offline
Registreret Bruger
  
 

Join Date: Jan 2007
Stillinger: 61
array problem

Kære topmødet

Tak så meget for at svare mig, jeg virkelig sætter pris på dig
men du kan du forklare mig dette
(sum [$ 1, $ 2, $ 3] + \u003d $ 4)
Hvad betyder det i array coz mit array konceptet er svag, og den anden ting, jeg ønsker at gemme kun 3. område, men i dit tilfælde ser det ud til at blive opbevaret 1,2,3 fileds højre.
oplysningerne kan 1000 linje i min tekst fil, så du kan du kort it out din kommando
awk-F, '(sum [$ 1, $ 2, $ 3] + \u003d $ 4) END (for (i i sum) print i, sum [i])' data.

Hilsen,
Shary
  #4 (permalink)  
Old 02-09-2007
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Beliggenhed: Ashburn, Virginia
Indlæg: 9.122
En perl løsning:
Code:
$ cat data
1|usa|hh
2|usa|ll
3|usa|vg
4|uk|nn
5|uk|bb
6|kuwait|mm
6|kuwait|jkj
7|dubai|hh
$
$
$ cat mm.pl
#! /usr/local/bin/perl

open(DATA, "< data") || die "Unable to open file other\n";
while (<DATA>) {
        chomp;
        @fields = split(/\|/);
        $counts{$fields[1]}++;
}
close(DATA);

foreach $word (sort keys %counts) {
        print "value = ", $word, "  count = ",  $counts{$word}, "\n";
}
exit 0
$
$
$
$ ./mm.pl
value = dubai  count = 1
value = kuwait  count = 2
value = uk  count = 2
value = usa  count = 3
$
  #5 (permalink)  
Old 02-09-2007
shary shary is offline
Registreret Bruger
  
 

Join Date: Jan 2007
Stillinger: 61
bruger arrays

Kære Eksperter,

jeg dont ønsker scriptet i perl.
så du må gerne hvis muligt forsøge at gøre andet end perl bruger arrays (ikke perl).

Hilsen,

Shary
  #6 (permalink)  
Old 02-10-2007
tayyabq8's Avatar
tayyabq8 tayyabq8 is offline Forum Advisor  
Moderator
  
 

Join Date: Nov 2004
Beliggenhed: Bahrain
Posts: 579
Som pr din prøve output, du har brug for optælling af andet felt ikke det tredje, så prøv dette:
Code:
awk -F"|" '{ freq[$2]++ } END {
for (word in freq)
printf "%s\t%d\n", word, freq[word]
}' data
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er PÃ¥
Smilies er PÃ¥
[IMG] koden er PÃ¥
HTML-koden er Slukket
Trackbacks er PÃ¥
Pingbacks er PÃ¥
Refbacks er PÃ¥




Alle tidspunkter er GMT -4. Den tid er nu 10:44 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0