Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Integrate MIN and MAX in a string Post 302769892 by beca123456 on Wednesday 13th of February 2013 07:46:45 PM
Old 02-13-2013
@RudiC:
I don't really get the END section of your code. Specially the "tmp[2]" !??? And what is the separator in "split(line[i],temp)" ? Is it "\n" by default ?
I tried to modify your code in the case I have a third field specifying subgroup in the input file:
Code:
1%2%3%4%;AA;1
5%6%7%8%9;AA;1
1%2%3%4%5%6;BB;2
7%8%9%10%11%12;BB;2
13%14%15%16%17%18;BB;3      # note te third field is different then the previous "BB" groups

and obtain that at the end:
Code:
1%2%3%4%;AA;1;1-5%2-6%3-7%4-8%0-9%     # unchanged
5%6%7%8%9;AA;1;1-5%2-6%3-7%4-8%0-9%     # unchanged
1%2%3%4%5%6;BB;2;1-7%2-8%3-9%4-10%5-11%6-12%     #unchanged
7%8%9%10%11%12;BB;2;1-7%2-8%3-9%4-10%5-11%6-12%     # unchanged
13%14%15%16%17%18;BB;3;13%14%15%16%17%18  # $4 is same as $1 as this record is the only one in "BB;3" group

I changed your previous code as follow:
Code:
BEGIN{FS=OFS=";"}
         {line[NR] = $0
          a = split ($1, b, "%")
          for (i=1; i<=a; i++)
                {b[i]=b[i]?b[i]:"0";
                 if ((!MIN [$2$3,i]) || (MIN [$2$3,i] > b[i])) MIN [$2$3,i] = b[i]
                 if ((!MAX [$2$3,i]) || (MAX [$2$3,i] < b[i])) MAX [$2$3,i] = b[i]
                }
          if (a > maxfld[$2$3]) maxfld[$2$3] = a
         }
         END    {for (i=1; i<=NR; i++)
                  {printf "%s;", line[i]
                   split (line[i], tmp)
                   for (j=1; j<=maxfld[tmp[3]]; j++)
                      printf ("%s-%s%%", MIN[tmp[3],j], MAX[tmp[3],j])
                   printf "\n"
                  }
                }


Last edited by beca123456; 02-13-2013 at 10:50 PM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

min and max value of process id

We are running a AIX 5.2 OS. Would anyone happen to know what the max value for a process id could be? Thanks jerardfjay :) (0 Replies)
Discussion started by: jerardfjay
0 Replies

2. 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

3. Shell Programming and Scripting

get min, max and average value

hi! i have a file like the attachement. I'd like to get for each line the min, max and average values. (there is 255 values for each line) how can i get that ? i try this, is it right? BEGIN {FS = ","; OFS = ";";max=0;min=0;moy=0;total=0;freq=890} $0 !~ /Trace1:/ { ... (1 Reply)
Discussion started by: riderman
1 Replies

4. Shell Programming and Scripting

Data stream between min and max

Hi, I have a text file containing numbers. There are up to 6 numbers per row and I need to read them, check if they are 0 and if they are not zero check if they are within a given interval (min,max). If they exceed the max or min they should be set to max or min respectively, if they are in the... (4 Replies)
Discussion started by: f_o_555
4 Replies

5. Shell Programming and Scripting

to find min and max value for each column!

Hello Experts, I have got a txt files which has multiple columns, I want to get the max, min and diff (max-min) for each column in the same txt file. Example: cat file.txt a 1 4 b 2 5 c 3 6 I want ouput like: cat file.txt a 1 4 b 2 5 c 3 6 Max 3 6 Min 1 4 Diff 2 2 awk 'min=="" ||... (4 Replies)
Discussion started by: dixits
4 Replies

6. Homework & Coursework Questions

Perl max and min issues

I have to find the min and max on a specific column in a file after sending that column and one other to a output file but I keep getting a maximum of zero below is what i have so far if anyone can give me advice on what i am doing wrong the help would be much appreciated # ! /usr/bin/perl -w... (2 Replies)
Discussion started by: dstewie
2 Replies

7. Shell Programming and Scripting

Print min and max value from two column

Dear All, I have data like this, input: 1254 10125 1254 10126 1254 10127 1254 10128 1254 10129 1255 10130 1255 10131 1255 10132 1255 10133 1256 10134 1256 10135 1256 10137... (3 Replies)
Discussion started by: aksin
3 Replies

8. Shell Programming and Scripting

Get the min avg and max with awk

aaa: 3 ms aaa: 2 ms aaa: 5 ms aaa: 10 ms .......... to get the 3 2 5 10 ...'s min avg and max something like min: 2 ms avg: 5 ms max: 10 ms (2 Replies)
Discussion started by: yanglei_fage
2 Replies

9. Shell Programming and Scripting

How to get min and max values using awk?

Hi, I need your kind help to get min and max values from file based on value in $5 . File1 SP12.3 stc 2240806 2240808 + ID1_N003 ID2_N003T0 SP12.3 sto 2241682 2241684 + ID1_N003 ID2_N003T0 SP12.3 XE 2239943 2240011 + ID1_N003 ID2_N003T0 SP12.3 XE 2240077 2241254 + ID1_N003 ... (12 Replies)
Discussion started by: redse171
12 Replies

10. Shell Programming and Scripting

Get min and max value in column

Gents, I have a big file file like this. 5100010002 5100010004 5100010006 5100010008 5100010010 5100010012 5102010002 5102010004 5102010006 5102010008 5102010010 5102010012 The file is sorted and I would like to find the min and max value, taking in the consideration key1... (3 Replies)
Discussion started by: jiam912
3 Replies
EXPINT(3)						User Contributed Perl Documentation						 EXPINT(3)

NAME
PDL::GSLSF::EXPINT - PDL interface to GSL Special Functions DESCRIPTION
This is an interface to the Special Function package present in the GNU Scientific Library. SYNOPSIS
Functions FUNCTIONS
gsl_sf_expint_E1 Signature: (double x(); double [o]y(); double [o]e()) E_1(x) := Re[ Integrate[ Exp[-xt]/t, {t,1,Infinity}] ] gsl_sf_expint_E2 Signature: (double x(); double [o]y(); double [o]e()) E_2(x) := Re[ Integrate[ Exp[-xt]/t^2, {t,1,Infity}] ] gsl_sf_expint_Ei Signature: (double x(); double [o]y(); double [o]e()) Ei(x) := PV Integrate[ Exp[-t]/t, {t,-x,Infinity}] gsl_sf_Shi Signature: (double x(); double [o]y(); double [o]e()) Shi(x) := Integrate[ Sinh[t]/t, {t,0,x}] gsl_sf_Chi Signature: (double x(); double [o]y(); double [o]e()) Chi(x) := Re[ M_EULER + log(x) + Integrate[(Cosh[t]-1)/t, {t,0,x}] ] gsl_sf_expint_3 Signature: (double x(); double [o]y(); double [o]e()) Ei_3(x) := Integral[ Exp[-t^3], {t,0,x}] gsl_sf_Si Signature: (double x(); double [o]y(); double [o]e()) Si(x) := Integrate[ Sin[t]/t, {t,0,x}] gsl_sf_Ci Signature: (double x(); double [o]y(); double [o]e()) Ci(x) := -Integrate[ Cos[t]/t, {t,x,Infinity}] gsl_sf_atanint Signature: (double x(); double [o]y(); double [o]e()) AtanInt(x) := Integral[ Arctan[t]/t, {t,0,x}] AUTHOR
This file copyright (C) 1999 Christian Pellegrin <chri@infis.univ.trieste.it> All rights reserved. There is no warranty. You are allowed to redistribute this software / documentation under certain conditions. For details, see the file COPYING in the PDL distribution. If this file is separated from the PDL distribution, the copyright notice should be included in the file. The GSL SF modules were written by G. Jungman. perl v5.8.0 2003-01-29 EXPINT(3)
All times are GMT -4. The time now is 03:44 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy