Sponsored Content
Top Forums Shell Programming and Scripting Perl- Finding average "frequency" of occurrence of duplicate lines Post 302545669 by acsg on Tuesday 9th of August 2011 06:18:54 AM
Old 08-09-2011
Quote:
Originally Posted by yazu
Just change to
Code:
perl -ane '
  BEGIN {
    $"="\t";
  }
  push @{$seen{"@F[3..16]"}}, $F[0];
  END {
    for $key (sort keys %seen) {
        @ts = @{$seen{$key}};
        $n = @ts;
        $prev = $ts[0];
        $nt = 0;
        print "$key $n ";
      for $time (@ts) {
        $nt += $time - $prev;
      }
      print $nt/$n, "\n";
    }
}' INPUTFILE

There is another small problem I found. The record it keeps is static, meaning it should count the seconds since the last appearance, but what it's doing right now is counting the seconds since the FIRST appearance every time. In your example, this makes the seconds since the first 'a' be 2, then 5, then 6 which gives an average of 3.25 and the real average should be made between 2, 3 and 1 (which would give a 1.5 avg).
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies

2. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

3. Solaris

"Load Average" vs "virtual processor"

Hi, I have one question regarding the understanding of “load average” in a platform with virtual processors. Suppose in this situation: Total number of physical processors: 1 Number of virtual processors: 32 Total number of cores: 4 Number of cores per physical... (1 Reply)
Discussion started by: MDING
1 Replies

4. Shell Programming and Scripting

finding the strings beween 2 characters "/" & "/" in .txt file

Hi all. I have a .txt file that I need to sort it My file is like: 1- 88 chain0 MASTER (FF-TE) FFFF 1962510 /TCK T FD2TQHVTT1 /jtagc/jtag_instreg/updateinstr_reg_1 dff1 (TI,SO) 2- ... (10 Replies)
Discussion started by: Behrouzx77
10 Replies

5. Shell Programming and Scripting

Cant get awk 1liner to remove duplicate lines from Delimited file, get "event not found" error..help

Hi, I am on a Solaris8 machine If someone can help me with adjusting this awk 1 liner (turning it into a real awkscript) to get by this "event not found error" ...or Present Perl solution code that works for Perl5.8 in the csh shell ...that would be great. ****************** ... (3 Replies)
Discussion started by: andy b
3 Replies

6. Shell Programming and Scripting

Find lines with "A" then change "E" to "X" same line

I have a bunch of random character lines like ABCEDFG. I want to find all lines with "A" and then change any "E" to "X" in the same line. ALL lines with "A" will have an "X" somewhere in it. I have tried sed awk and vi editor. I get close, not quite there. I know someone has already solved this... (10 Replies)
Discussion started by: nightwatchrenba
10 Replies

7. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

8. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

9. AIX

Apache 2.4 directory cannot display "Last modified" "Size" "Description"

Hi 2 all, i have had AIX 7.2 :/# /usr/IBMAHS/bin/apachectl -v Server version: Apache/2.4.12 (Unix) Server built: May 25 2015 04:58:27 :/#:/# /usr/IBMAHS/bin/apachectl -M Loaded Modules: core_module (static) so_module (static) http_module (static) mpm_worker_module (static) ... (3 Replies)
Discussion started by: penchev
3 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 05:03 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy