Sponsored Content
Full Discussion: Calculate Average AWK
Top Forums Shell Programming and Scripting Calculate Average AWK Post 302525454 by birei on Thursday 26th of May 2011 05:24:44 PM
Old 05-26-2011
Hi,

Test next 'perl' script:
Code:
$ cat script.pl
use strict;
use warnings;
use autodie;

@ARGV == 2 or die "Usage: perl $0 file-1 file-2\n";
open my $fh1, "<", $ARGV[0];
open my $fh2, "<", $ARGV[1];

my ($f1, $f2, @f1, @f2);

while ( $f1 = <$fh1> ) {
        $f2 = <$fh2>; 
        do { print "\n"; next } if $f1 =~ /^\s*$/ || $f2 =~ /^\s*$/;
        chomp( $f1, $f2 );
        @f1 = split /\s+/, $f1;
        @f2 = split /\s+/, $f2;
        printf "%s\t%s\t%.6f\n", $f1[0], $f1[1], ($f1[2] + $f2[2]) / 2;
}

close $fh1;
close $fh2;
$ perl script.pl infile1 infile2
001     0.046   0.660916
001     0.047   0.668543
001     0.048   0.658049
001     0.049   0.665490

002     0.000   0.669507
002     0.001   0.594720
002     0.002   0.588033
002     0.003   0.593838
002     0.004   0.593014

Regards,
Birei
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

calculate average of column 2

Hi I have fakebook.csv as following: F1(current date) F2(popularity) F3(name of book) F4(release date of book) 2006-06-21,6860,"Harry Potter",2006-12-31 2006-06-22,,"Harry Potter",2006-12-31 2006-06-23,7120,"Harry Potter",2006-12-31 2006-06-24,,"Harry Potter",2006-12-31... (0 Replies)
Discussion started by: onthetopo
0 Replies

2. UNIX for Dummies Questions & Answers

Use awk to calculate average of column 3

Suppose I have 500 files in a directory and I need to Use awk to calculate average of column 3 for each of the file, how would I do that? (6 Replies)
Discussion started by: grossgermany
6 Replies

3. Programming

calculate average

I have a file which is 2 3 4 5 6 6 so i am writing program in C to calculate mean.. #include<stdio.h> #include<string.h> #include <math.h> double CALL mean(int n , double x) main (int argc, char **argv) { char Buf,SEQ; int i; double result = 0; FILE *fp; (3 Replies)
Discussion started by: cdfd123
3 Replies

4. Shell Programming and Scripting

calculate the average of time series data using AWK

Hi, I have two time series data (below) merged into a file. t1 and t2 are in unit of second I want to calculate the average of V1 every second and count how many times "1" in V2 is occur within a second Input File: t1 V1 t2 V2 10.000000... (5 Replies)
Discussion started by: nica
5 Replies

5. Shell Programming and Scripting

Calculate average time using a script

Hello, I'm hoping to get some help on calculating an average time from a list of times (hour:minute:second). Here's what my list looks like right now, it will grow (I can get the full date or change the formatting of this as well): 07:55:31 09:42:00 08:09:02 09:15:23 09:27:45 09:49:26... (4 Replies)
Discussion started by: jaredhanks
4 Replies

6. Shell Programming and Scripting

AWK novice - calculate the average

Hi, I have the following data in a file for example: P1 XXXXXXX.1 YYYYYYY.1 ZZZ.1 P1 XXXXXXX.2 YYYYYYY.2 ZZZ.2 P1 XXXXXXX.3 YYYYYYY.3 ZZZ.3 P1 XXXXXXX.4 YYYYYYY.4 ZZZ.4 P1 XXXXXXX.5 YYYYYYY.5 ZZZ.5 P1 XXXXXXX.6 YYYYYYY.6 ZZZ.6 P1 XXXXXXX.7 YYYYYYY.7 ZZZ.7 P1 XXXXXXX.8 YYYYYYY.8 ZZZ.8 P2... (6 Replies)
Discussion started by: alex2005
6 Replies

7. Shell Programming and Scripting

Calculate average for repeated ID within a data

I have an awk script that gives the following output: Average end-to-end transmission delay 2.7 to 5.7 is 0.635392 seconds Average end-to-end transmission delay 2.1 to 5.1 is 0.66272 seconds Average end-to-end transmission delay 2.1 to 5.1 is 0.691712 seconds Average end-to-end transmission... (4 Replies)
Discussion started by: ENG_MOHD
4 Replies

8. Shell Programming and Scripting

Calculate Average time of one column

Hello dears, I have a log file with records like below and want to get a average of one column based on the search of one specific keyword. 2015-02-07 08:15:28 10.102.51.100 10.112.55.101 "kevin.c" POST ... (2 Replies)
Discussion started by: Newman
2 Replies

9. Shell Programming and Scripting

Calculate average, azimut and distance

Gents, Please i will to get the distance and azimut from 2 coordinates: Usig excel formula i get the correct values, but i will like to do it using awk. Example A 35089.0 50345.016 9 75 1 2101774 77 70 79 483911.6 2380106.9 137.4 1 1 6 1 A 35089.0 50345.01620 75... (8 Replies)
Discussion started by: jiam912
8 Replies

10. Shell Programming and Scripting

Calculate the average per block.

My old school way is a one liner. And will search for average from SAR, to get the data receive rate. But, I dont think it is practical or accurate,. Because it calculates to off peak hours. I am planning to change it. My cron runs every 30 mins. When my cron runs, and my time is 14:47pm,, it will... (1 Reply)
Discussion started by: invinzin21
1 Replies
Test::Strict(3pm)					User Contributed Perl Documentation					 Test::Strict(3pm)

NAME
Test::Strict - Check syntax, presence of use strict; and test coverage SYNOPSIS
"Test::Strict" lets you check the syntax, presence of "use strict;" and presence "use warnings;" in your perl code. It report its results in standard "Test::Simple" fashion: use Test::Strict tests => 3; syntax_ok( 'bin/myscript.pl' ); strict_ok( 'My::Module', "use strict; in My::Module" ); warnings_ok( 'lib/My/Module.pm' ); Module authors can include the following in a t/strict.t and have "Test::Strict" automatically find and check all perl files in a module distribution: use Test::Strict; all_perl_files_ok(); # Syntax ok and use strict; or use Test::Strict; all_perl_files_ok( @mydirs ); "Test::Strict" can also enforce a minimum test coverage the test suite should reach. Module authors can include the following in a t/cover.t and have "Test::Strict" automatically check the test coverage: use Test::Strict; all_cover_ok( 80 ); # at least 80% coverage or use Test::Strict; all_cover_ok( 80, 't/' ); DESCRIPTION
The most basic test one can write is "does it compile ?". This module tests if the code compiles and play nice with "Test::Simple" modules. Another good practice this module can test is to "use strict;" in all perl files. By setting a minimum test coverage through "all_cover_ok()", a code author can ensure his code is tested above a preset level of kwality throughout the development cycle. Along with Test::Pod, this module can provide the first tests to setup for a module author. This module should be able to run under the -T flag for perl >= 5.6. All paths are untainted with the following pattern: "qr|^([-+@w./:\]+)$|" controlled by $Test::Strict::UNTAINT_PATTERN. FUNCTIONS
syntax_ok( $file [, $text] ) Run a syntax check on $file by running "perl -c $file" with an external perl interpreter. The external perl interpreter path is stored in $Test::Strict::PERL which can be modified. You may prefer "use_ok()" from Test::More to syntax test a module. For a module, the path (lib/My/Module.pm) or the name (My::Module) can be both used. strict_ok( $file [, $text] ) Check if $file contains a "use strict;" statement. "use Moose" and "use Mouse" are also considered valid. This is a pretty naive test which may be fooled in some edge cases. For a module, the path (lib/My/Module.pm) or the name (My::Module) can be both used. warnings_ok( $file [, $text] ) Check if warnings have been turned on. If $file is a module, check if it contains a "use warnings;" or "use warnings::..." or "use Moose" or "use Mouse" statement. If the perl version is <= 5.6, this test is skipped ("use warnings" appeared in perl 5.6). If $file is a script, check if it starts with "#!...perl -w". If the -w is not found and perl is >= 5.6, check for a "use warnings;" or "use warnings::..." or "use Moose" or "use Mouse" statement. This is a pretty naive test which may be fooled in some edge cases. For a module, the path (lib/My/Module.pm) or the name (My::Module) can be both used. all_perl_files_ok( [ @directories ] ) Applies "strict_ok()" and "syntax_ok()" to all perl files found in @directories (and sub directories). If no <@directories> is given, the starting point is one level above the current running script, that should cover all the files of a typical CPAN distribution. A perl file is *.pl or *.pm or *.t or a file starting with "#!...perl" If the test plan is defined: use Test::Strict tests => 18; all_perl_files_ok(); the total number of files tested must be specified. You can control which tests are run on each perl site through: $Test::Strict::TEST_SYNTAX (default = 1) $Test::Strict::TEST_STRICT (default = 1) $Test::Strict::TEST_WARNINGS (default = 0) $Test::Strict::TEST_SKIP (default = []) "Trusted" files to skip all_cover_ok( [coverage_threshold [, @t_dirs]] ) This will run all the tests in @t_dirs (or current script's directory if @t_dirs is undef) under Devel::Cover and calculate the global test coverage of the code loaded by the tests. If the test coverage is greater or equal than "coverage_threshold", it is a pass, otherwise it's a fail. The default coverage threshold is 50 (meaning 50% of the code loaded has been covered by test). The threshold can be modified through $Test::Strict::COVERAGE_THRESHOLD. You may want to select which files are selected for code coverage through $Test::Strict::DEVEL_COVER_OPTIONS, see Devel::Cover for the list of available options. The default is '+ignore,"/Test/Strict"'. The path to "cover" utility can be modified through $Test::Strict::COVER. The 50% threshold is a completely arbitrary value, which should not be considered as a good enough coverage. The total coverage is the return value of "all_cover_ok()". CAVEATS
For "all_cover_ok()" to work properly, it is strongly advised to install the most recent version of Devel::Cover and use perl 5.8.1 or above. In the case of a "make test" scenario, "all_perl_files_ok()" re-run all the tests in a separate perl interpreter, this may lead to some side effects. SEE ALSO
Test::More, Test::Pod. Test::Distribution, <Test:NoWarnings> AUTHOR
Pierre Denis, "<pdenis@gmail.com>". COPYRIGHT
Copyright 2005, 2010 Pierre Denis, All Rights Reserved. You may use, modify, and distribute this package under the same terms as Perl itself. perl v5.10.1 2010-02-14 Test::Strict(3pm)
All times are GMT -4. The time now is 09:42 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy