Sponsored Content
Top Forums Shell Programming and Scripting Counting the differences based on a specific rule Post 302233612 by era on Monday 8th of September 2008 06:24:09 AM
Old 09-08-2008
Welp, my original proposal was to just collect the @differences, then at the end sort it and loop over it.

Code:
my %limits = (100 => "< 100",
  200 => "100 - 200",
  500 => "201 - 500",
  750 => "501 - 750",
  1000 => "751 - 1000",
  1_000_000_000 => "> 1001");
my @l = sort keys %limits;
my $total = 0;
print "\nDistribution:\n";
for my $d (sort @differences) {
  if ($d < $l[0]) {
    $total++;
    next;
  }
  print $limits{$l[0]}, "\t-\t", $total, "\n";
  shift @l;
}
print $limits{$l[0]}, "\t-\t", $total, "\n";

(Not tested.)
 

6 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Counting specific words from the log

Hi, I need a shell script which can provide details from error logs like this Aug 23 21:19:41 red mountd: authenticated mount request from bl0110.bang.m pc.local:651 for /disk1/jobs (/disk1) Aug 23 08:49:52 red dhcpd: DHCPDISCOVER from 00:25:90:2b:cd:7c via eth0: unknown client Aug 24... (2 Replies)
Discussion started by: ratheeshp
2 Replies

2. Shell Programming and Scripting

Regex based Rule engine.

Hi, Greetings. We need to make a regexp based rule engine. The rules would be applied to any file specified and the data not matching should be logged. Would awk be the right scripting language. Regards, Dikesh Shah. (2 Replies)
Discussion started by: dikesm
2 Replies

3. Shell Programming and Scripting

Counting non-specific occurrences within a file.

I'm pretty new to scripting and didn't see an example of this issue yet. I am trying to count and print the total number of times each value is found within a file. Here is a short example of my starting file. value 3 value 3 value 3 value 3 value 4 value 6 value 6 value 6 value 6... (3 Replies)
Discussion started by: funkynmr
3 Replies

4. IP Networking

Facing issue in ip6table rule for port based routing management

Hi, Please help me on issue described below, I have 4 machine setup, M1 -> M2 -> M3 | M4. And A laptop that can be reachable through both M3 and M4. M2 has 2 NIC conected to M3 and M4. Now I want to divide the flow coming from M1 for laptop. At M2, I have done following,... (1 Reply)
Discussion started by: rahulbhansali24
1 Replies

5. UNIX for Dummies Questions & Answers

Extracting combined differences based on a single column

Dear All, I have two sets of files. File 1 can be any number between 1 and 20 followed by a frequency of that number in a give documents... the lines in the file will be dependent to the analysed document. e.g. file1 1,5 4,1 then I have file two which is basicall same numbers but with... (2 Replies)
Discussion started by: A-V
2 Replies

6. UNIX for Beginners Questions & Answers

Linux/Shell script - How to compare 2 arrays based on patterns and get the differences

I have FILE 1 (This file has all master columns/headers) A|B|C|D|E|F|G|H|STATUS FILE 2 A|C|F|I|OFF_STATUS 3|4|5|4|Y 6|7|8|5|Y Below command give me all headers of FILE 2 into array2.txt file paste <(head -1 FILE2.txt | tr '|' '\n')>array2.txt So I would like to compare... (2 Replies)
Discussion started by: jmadhams
2 Replies
sa(8)							      System Manager's Manual							     sa(8)

Name
       sa, accton - print process accounting statistics

Syntax
       /etc/sa [ options ] [ file ]

       /etc/accton [ file ]

Arguments
       file    With  an  argument naming an existing file, causes system accounting information for every process executed to be placed at the end
	       of the file.  If no argument is given, accounting is turned off.

Description
       The command reports on, cleans up, and generally maintains accounting files.

       The is able to condense the information in into a summary file which contains a count of the number of times each command  was  called  and
       the time resources consumed.  This condensation is desirable because on a large system can grow by 100 blocks per day.  The summary file is
       normally read before the accounting file, so the reports include all available information.

       If a file name is given as the last argument, that file will be treated as the accounting file.	The file is the default.

       Output fields are labeled: "cpu" for the sum of user+system time (in cpu seconds), "re" for real time (also in cpu seconds), "k"  for  cpu-
       time  averaged  core usage (in 1k units), "avio" for average number of I/O operations per execution.  With options fields labeled "tio" for
       total I/O operations, "k*sec" for cpu storage integral (kilo-core seconds), "u" and "s" for user and system cpu time  alone  (both  in  cpu
       seconds) will sometimes appear.

Options
       -a      List  all  command names including those containing unprintable characters and those used only once. By default, places all command
	       names containing unprintable characters and those used only once under the name `***other.'

       -b      Sort output by sum of user and system time divided by number of calls.  Default sort is by sum of user and system times.

       -c      Besides total user, system, and real time for each command, print percentage of total time over all commands.

       -d      Sort by average number of disk I/O operations.

       -D      Print and sort by total number of disk I/O operations.

       -f      Force no interactive threshold compression with option.

       -i      Do not read in summary file.

       -j      Instead of total minutes for each category, give seconds per call.

       -k      Sort by cpu-time average memory usage.

       -K      Print and sort by cpu-storage integral.

       -l      Separate system and user time; normally they are combined.

       -m      Print number of processes and number of CPU minutes for each user.

       -n      Sort by number of calls.

       -r      Reverse order of sort.

       -s      Merge accounting file into summary file when done.

       -t      For each command, report ratio of real time to the sum of user and system times.  If the sum of user and system times is too  small
	       to report, `*ignore*' appears in this field.

       -u      Superseding all other flags, print for each command in the accounting file the user ID and command name.

       -v      Followed  by  a number n, types the name of each command used n times or fewer.	Await a reply from the terminal; if it begins with
	       `y', add the command to the category `**junk**.' This is used to strip out garbage.

Restrictions
       Accounting is suspended when there is less than 2% free space on disk.  Accounting resumes when free space rises above 4%.

Files
       Raw accounting

       Summary

       Per-user summary

See Also
       acct(2), ac(8)

																	     sa(8)
All times are GMT -4. The time now is 01:35 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy