The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > UNIX for Dummies Questions & Answers
Google UNIX.COM


UNIX for Dummies Questions & Answers If you're not sure where to post a UNIX or Linux question, post it here. All UNIX and Linux newbies welcome !!

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
urgent help in counting sunitachoudhury Shell Programming and Scripting 2 05-20-2008 07:44 PM
Counting up a variable Kenada Shell Programming and Scripting 3 07-18-2007 12:07 AM
Counting Processes heprox Shell Programming and Scripting 4 03-21-2007 01:44 AM
Help with counting files please gerard1 Shell Programming and Scripting 6 09-25-2006 10:37 AM
Counting LOC in C amatsaka High Level Programming 1 06-04-2002 12:18 PM

Reply
 
Submit Tools LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 05-23-2006
Registered User
 

Join Date: Jan 2006
Posts: 138
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
Unhappy Counting and sort

Hello friends,

I have the following data:

abc-xyz
abc = 0-999
xyz = 0-999

and there are 10000 lines or more:

Example of data file:

123000
123001
123004
123005
123004
123004
123008
123008
123008
123008
246599
246700
246999
246999
246999
246999
246999
246888
246881
246999
357001
357888
357999
357999
357999
357999
357999
357999
357999
357999

I am looking for a script which will count the number of times the same number repeat. My result from the given data above should be:

123000 1
123001 1
123004 3
123005 1
123008 4
246599 1
246700 1
246881 1
246888 1
246999 6
357001 1
357888 1
357999 8

Thanks!
Reply With Quote
Forum Sponsor
  #2 (permalink)  
Old 05-23-2006
...@...
 

Join Date: Feb 2004
Location: NM
Posts: 3,289
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
I'm not sure what the
Quote:
abc-xyz
abc = 0-999
xyz = 0-999
has to do with anything. but for your column of numbers try:
Code:
awk '
      {arr[$0]++}
      END { for(i in arr) 
              { print $i, arrr[i] }
      } '  filename > newfilename
Reply With Quote
  #3 (permalink)  
Old 05-23-2006
Registered User
 

Join Date: Jan 2006
Posts: 138
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
Unhappy

Thanks for the help. It is not working: data range :0-999999

Data sample:

123000
123001
123004
123005
123004
123004
123008
123008
123008
123008
246599
246700
246999
246999
246999
246999
246999
246888
246881
246999
357001
357888
357999
357999
357999
357999
357999
357999
357999
357999

Expect data result from the script:

123000 1
123001 1
123004 3
123005 1
123008 4
246599 1
246700 1
246881 1
246888 1
246999 6
357001 1
357888 1
357999 8


Thanks!
Reply With Quote
  #4 (permalink)  
Old 05-23-2006
Glenn Arndt's Avatar
Anomalous Lurker
 

Join Date: Feb 2006
Location: Indianapolis, IN
Posts: 255
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
Code:
uniq -c myfile.txt
yields:

1 123000
1 123001
1 123004
1 123005
2 123004
4 123008
1 246599
1 246700
5 246999
1 246888
1 246881
1 246999
1 357001
1 357888
8 357999

If you really need to have the results like:

357888 1
357999 8

you can use a simple awk script:

Code:
uniq -c myfile.txt | awk '{print $2, $1}'
Reply With Quote
  #5 (permalink)  
Old 05-23-2006
reborg's Avatar
Administrator
 
Join Date: Mar 2005
Location: Ireland
Posts: 3,439
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
There were just a couple of typos in Jim's solution, here is what he intended to post.

Code:
awk '
      {arr[$0]++}
      END { for(i in arr) 
              { print i, arr[i] }
      } '  filename > newfilename
Reply With Quote
Google UNIX.COM
Reply

Thread Tools
Display Modes


The 50 most popular UNIX and Linux searches.
Google Search Cloud for The UNIX and Linux Forums
421 service not available, remote server has closed connection ^m automate ftp autosys awk trim bash eval bash exec bash for loop close_wait command copy/move folder in unix couldn't set locale correctly curses.h cut command in unix dead.letter find grep find null character in a unix file grep multiple lines grep or grep recursive inaddr_any inappropriate ioctl for device ksh if logrotate.conf lynx javascript mailx attachment mget mtime ping port remove first character from string in k shell replace space by comma , perl script scp recursive segmentation fault(coredump) sftp script snoop unix stale nfs file handle syn_sent tar exclude test: argument expected unix unix .profile unix forum unix forums unix internals unix interview questions unix mtime unix simulator unix.com vi substitute vi+substitute+end+of+line+character while loop within while loop shell script


All times are GMT -7. The time now is 07:18 AM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
The UNIX and Linux Forums Content Copyright ©1993-2008 The CEP Blog All Rights Reserved -Ad Management by RedTyger Visit The Global Fact Book

Content Relevant URLs by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101