Sponsored Content
Top Forums Shell Programming and Scripting compare values in different lines of file Post 302360386 by daptal on Thursday 8th of October 2009 08:25:24 PM
Old 10-08-2009
Not sure what exactly your output should look like, If you can give and example of the output that would be more easy to resolve.

From what i understood from your post
Chk this code

Code:
#!/usr/bin/perl

use strict;
use warnings;

my $prev_col_5_value = '';
my $prev_line ;
open my $fh , '<', 'abc.txt' || die $!;
while(<$fh>){
        chomp;
        my $line = $_;
        my @cols = split(/ /,$line);
        if ($prev_line){
                if ($prev_col_5_value < 0 && $cols[4] < 0 ) {
                        my $curr_col4_value = ($cols[4] + $prev_col_5_value )/2;
                        print "$prev_line\n";
                        $prev_line = '';
                        $prev_col_5_value = '';
                }
                else {
                        print "$prev_line\n";
                        $prev_line = $line;
                        $prev_col_5_value = $cols[4];
                        #print or dont print as per ur req

                }
        }
        else {
                $prev_line = $line;
                $prev_col_5_value = $cols[4];
        }
}
print "$prev_line \n" if ($prev_line);
close $fh;


Output

Code:
A B C D -1 0
I J K L +1
M N O P -6


Lemme know if this is not what it was meant to generate

Cheers,

Last edited by Franklin52; 10-09-2009 at 11:03 AM.. Reason: Please use code tags!
 

8 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

I need to extract last column of a file and compare the values

Hi, I am new to unix and I need help in solving below mentioned issue, really appreciate ur help. I have a file sam, john, 2324, 07142007 tom, thomson, 2343, 07142007 john, scott, 2478, 07142007 its a comma delimited file, I need to extract the last column from each line and this... (4 Replies)
Discussion started by: vukkusila
4 Replies

2. Shell Programming and Scripting

How to compare the values of a column in awk in a same file and consecutive lines..

I would like to compare the values of 2nd column of consecutive lines of same file in such a way so that if the difference between first value and second value is more than 100 it should print complete line else ignore line. Input File ========== PDB 2500 RTDB 123 RTDB-EAGLE 122 VSCCP 2565... (4 Replies)
Discussion started by: manuswami
4 Replies

3. Shell Programming and Scripting

Compare values in two files. For matching rows print corresponding values from File 1 in File2.

- I have two files (File 1 and File 2) and the contents of the files are mentioned below. - I am trying to compare the values of Column1 of File1 with Column1 of File2. If a match is found, print the corresponding value from Column2 of File1 in Column5 of File2. - I tried to modify and use... (10 Replies)
Discussion started by: Santoshbn
10 Replies

4. Homework & Coursework Questions

Compare to values in a file in unix

Here is sample file ===============Index 0=================== isActive=0, Input=1, Output=1, Status=1 State = Future , PRIMARY UnderCount=2 inCount=2 outCount=0 SCount=673 -- ===============Index 1=================== isActive=0, Input=1, Output=1, Status=1 ... (1 Reply)
Discussion started by: sooda
1 Replies

5. Shell Programming and Scripting

How to compare the values of a column in a same file using awk?

Dear Unix experts, I have got a file where I would like to compare the values of second column if first column is same in such a way that the difference between the values is >50. If not, I would like to discard both values. For example, my input file looks like - comp275_c0_seq2 73... (7 Replies)
Discussion started by: utritala
7 Replies

6. UNIX for Beginners Questions & Answers

Compare Values between column in the same file

Input File:- COLUMN1 COLUMN2 COLUMN3 COLUMN4 COLUMN5 COLUMN6 SMS Email AO Mail Post N Cell VEGE Potato E W 396 12 0 384 0 0 0 0 0 VEGE Onion S W 17 0 17 0 0 0 0 0 0 FRUIT APPLE N W 549 61 0 0 0 0 0 488 0 FRUIT APPLE SE W 291 14 239 38 0 10 0 0 0 FRUIT APPLE EAMS W 397 32 309 56 309 309 0... (27 Replies)
Discussion started by: Nina2910
27 Replies

7. Shell Programming and Scripting

Compare Values in a Delimited Text file

Hi, How do I compare two columns within a text file If 2nd column values are same then I want to know 3rd column number matches or not Example: Prod Stag1 1234.79 Prod Stag2 1234.79 20 Prod Stag3 1234.79 30 Prod Stag4 1234.79 UAT Stag1 1243.56 UAT Stag2 1243.56 20 UAT ... (3 Replies)
Discussion started by: krux_rap
3 Replies

8. UNIX for Beginners Questions & Answers

Awk: compare values in two columns of the same file

I'm trying to learn awk, but I've hit a roadblock with this problem. I have a hierarchy stored in a file with 3 columns: id name parentID 4 D 2 2 B 1 3 C 1 1 A 5 I need to check if there are any values in column 3 that are not represented anywhere in column 1. I've tried this: awk '{arr;}... (7 Replies)
Discussion started by: kaktus
7 Replies
LDAP_COMPARE(3) 					     Library Functions Manual						   LDAP_COMPARE(3)

NAME
ldap_compare, ldap_compare_s - Perform an LDAP compare operation SYNOPSIS
#include <ldap.h> int ldap_compare_s(ld, dn, attr, value) LDAP *ld; char *dn, *attr, *value; int ldap_compare(ld, dn, attr, value) LDAP *ld; char *dn, *attr, *value; DESCRIPTION
The ldap_compare_s() routine is used to perform an LDAP compare operation synchronously. It takes dn, the DN of the entry upon which to perform the compare, and attr and value, the attribute type and value to compare to those found in the entry. It returns an LDAP error code, which will be LDAP_COMPARE_TRUE if the entry contains the attribute value and LDAP_COMPARE_FALSE if it does not. Otherwise, some error code is returned. The ldap_compare() routine is used to perform an LDAP compare operation asynchronously. It takes the same parameters as ldap_compare_s(), but returns the message id of the request it initiated. The result of the compare can be obtained by a subsequent call to ldap_result(3). ERRORS
ldap_compare_s() returns an LDAP error code which can be interpreted by calling one of ldap_perror(3) and friends. ldap_compare() returns -1 if something went wrong initiating the request. It returns the non-negative message id of the request if things went ok. BUGS
There is no way to compare binary values, but there should be. SEE ALSO
ldap(3), ldap_error(3) ACKNOWLEDGEMENTS
OpenLDAP is developed and maintained by The OpenLDAP Project (http://www.openldap.org/). OpenLDAP is derived from University of Michigan LDAP 3.3 Release. OpenLDAP 2.0.27-Release 22 September 1998 LDAP_COMPARE(3)
All times are GMT -4. The time now is 11:30 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy