finding max size


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
# 1  
finding max size

Hi

I have a list of 2000 records with multiple entries and I want to get the max size for each entry

Code:
 ABC   1
            ABC   2
            ABC   3
            ABC   4
            DEF   1
            DEF   2
            DEF   2
            DEF   2
            DEF   2
            DEF   3
            DEF   4
            XYZ   1
            XYZ   2
            XYZ   3
            XYZ   3
            XYZ   3
            XYZ   4
            XYZ   4
            XYZ   4
            XYZ   5

so on..

I have presented here 3 different cases.

In the first case ABC all entries are only once.. So the max size for this 1

In second case DEF has "2" occurring four times so the max size for this 4

In third case XYZ both "3" and "4" are occurring three times so the max size is 3

output:
Code:
  ABC   1
             DEF   4
             XYZ   3

Thanks,

Last edited by Scott; 09-14-2011 at 05:16 PM.. Reason: Fixed code tags
# 2  
Code:
awk '{ if(A[$1] < $2) A[$1]=$2; }
END { for(k in A) { print k, A[k]; }' < file

# 3  
Hi,

Thanks for the reply..

The code does not work as per my requirement. its outputting the last number in the entry ( example
Code:
  ABC 1
                                        ABC 2
                                        ABC 3
                                        ABC 4
                                        ABC 4
                                        ABC 5

Instead of outputting as 2 its outputting 5

What I need is the highest number of times a number is repeating for a particular entry. In the above example of all "4" is repeating two times. So the output should be "2".

Thanks,

Last edited by Scott; 09-14-2011 at 08:11 PM.. Reason: .
# 4  
Whatever you were running, it wasn't what I posted: It had a syntax error and didn't run at all Smilie

[edit] Ah, I see... Hmm... Working on it.
# 5  
Hi,

I have resolved the erorr in the code and then used it.. Only after that I got the error.

Thanks,

Diya
# 6  
That's what I get for answering too fast... Here's a solution that does what you want:

Code:
$ awk '{       A[ $1 "#" $2 ]++;       }
END {   for(K in A)
        {
                split(K, L, "#");
                STR=L[1]        ;       VAL=L[2]

                if(C[STR] <= A[K])
                {
                        C[STR]=A[K];
                        T[STR]=VAL
                }
        }

        for(K in T)     print K, T[K];
} < data
ABC 4
XYZ 3
DEF 2
$

There's an inconsistency in your example though. If we get a pattern like
Code:
A 1
A 1
A 2
A 2

which should be chosen, 1 or 2? Your example has ABC choosing the first max and DEF choosing the last max...

To choose the first instead of the last, change
Code:
if(C[STR] <= A[K])

to
Code:
if(C[STR] < A[K])

# 7  
Sorry if I was unclear about my question.

The code is outputting the number which is repeating maximum times. What I want is to output the max times its repeating

for instance:
Code:
ABC   1
ABC   2
ABC   3
ABC   4
ABC   5
ABC   5
ABC   5
ABC   6
ABC   6
ABC   7
ABC   7
ABC   7
ABC   7
ABC   7
ABC   8
ABC   8
ABC   9
ABC   10

In this example 7 is rpeating the maximum number of times. Its repeating five times so the output should be 5.. The code what you sent earlier outputs "7" instead of "5".

The other example which you mentioned
Code:
A 1
A 1
A 2
A 2

In this scenario 2 is the maximum times a number(either 1 or 2) is repeating. So the output is 2

Thanks,

Last edited by Scott; 09-14-2011 at 08:11 PM.. Reason: Code tags...
Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #968
Difficulty: Medium
In 2011. Kernel.org began offering Linux kernel release information in JSON format.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Finding max of a column grouping by the time

Hi, I have the below text: 16:00 0.50 16:00 0.30 16:00 0.00 16:00 0.00 16:00 0.30 16:01 0.00 16:01 0.30 I want to find the max of the 2nd column grouping by the values in the 1st column using awk. So 16:00 0.50 16:01 0.30 I have tried (3 Replies)
Discussion started by: satishrao
3 Replies

2. Shell Programming and Scripting

Max size directory

Hi I know that a perticular direxctory is cosuming max space . Filesystem 1K-blocks Used Available Use% Mounted on nfsfi02:/vol/fivol2/Dir2/dir 104857600 92671400 12186200 89% /fs/dir I want to know which sub directory is consuming max... (4 Replies)
Discussion started by: ptappeta
4 Replies

3. Shell Programming and Scripting

Finding max number in filename and opening it

Hi, I have files named as energy.dat.1 energy.dat.2 energy.dat.3 ... energy.dat.2342 I would like to find the file with maximum number in the filename (ex. energy.dat.2342) and open it. Would you please share your expertize in writing the script? Thanks in advance. (8 Replies)
Discussion started by: rpd25
8 Replies

4. UNIX for Advanced & Expert Users

Max size of the attachment

Hi Gurus, I am unable to send a file which size is more than 10mb through the "sendmail" command in unix. I searched from internet and followed the path specified over there "/etc/mail/sendmail.cf" and too "/etc/mail/main.cf" but found in those files below lines. # maximum message size... (1 Reply)
Discussion started by: sanjay.login
1 Replies

5. Shell Programming and Scripting

Finding Max value from an array

Hi, I need to find max and second max element from an array. array contains 0338,0337,0339,0340,0401,0402,0403 (10 Replies)
Discussion started by: vjasai
10 Replies

6. Shell Programming and Scripting

Help in finding the max and min position

Hi, I have this input file called ttbitnres (which is catenated and sorted):- 8 0.4444 213 10 0.5555 342 11 0.5555 321 12 0.5555 231 13 0.4444 400 My code is at :- #!/bin/bash echo -e Version "\t" Number of Pass "\t" Number of Fail "\t" Rank Position "\t"Min "\t" Max... (1 Reply)
Discussion started by: ahjiefreak
1 Replies

7. Solaris

max. size of file

I wants to ask that what is the max size of file that we can create in the unix file system. (2 Replies)
Discussion started by: sameerghogre
2 Replies

8. Shell Programming and Scripting

finding duplicate files by size and finding pattern matching and its count

Hi, I have a challenging task,in which i have to find the duplicate files by its name and size,then i need to take anyone of the file.Then i need to open the file and find for more than one pattern and count of that pattern. Note:These are the samples of two files,but i can have more... (2 Replies)
Discussion started by: jerome Sukumar
2 Replies

9. Shell Programming and Scripting

Finding max value

My code below is supposed to find which company had the most business and then print the appropriate fields from another file which are the companies ID number and name. I can loop through awk and display all the total amount of business for each company but I need help in only printing out the... (1 Reply)
Discussion started by: Enigma23
1 Replies

10. UNIX for Dummies Questions & Answers

Max I/O Size

My HP-UX 11.0 system is supporting an Oracle database. I have found a number of references on the Net to the "Max I/O size" in relation to setting Oracle parameters. How can I tell what my max i/o size is? I originally made the assumption that it was referring to my stripe size but now I think... (1 Reply)
Discussion started by: keelba
1 Replies

Featured Tech Videos