Sponsored Content
Top Forums Shell Programming and Scripting Looking for AWK Solution for column comparison in a single file Post 302424512 by softwarekids23 on Tuesday 25th of May 2010 12:24:49 PM
Old 05-25-2010
Looking for AWK Solution for column comparison in a single file

- I am looking for different kind of awk solution which I don't think is mentioned before in these forums.

Number of rows in the file are fixed
Their are two columns in file1.txt

1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10


I am looking for 3 scenarios.
- If column 1 and 2 are same then generate PASS in Third Column (I have figured out this).
- If a number in Column 1 is less than column 2 (which means a number is missing in column 2)then
--generate FAIL in Column 3.
-- Move the number in Column 2 of that row to next row. Move all the numbers in column 2 after that number in thier next rows.
-- generate MISSING In Column 2.

-- Below is the example

file1.txt
1 1
2 3
3 4
4 5
5 7
6 8
7 9
8 10
9
10

As per second scenario what I want is

file1.txt
1 1 PASS
2 MISSING FAIL
3 3 PASS
4 4 PASS
5 5 PASS
6 MISSING FAIL
7 7 PASS
8 8 PASS
9 9 PASS
10 10 PASS

- If a number in Column 1 is greater than column 2 (which means a number is missing in column 1)then
--generate FAIL in Column 3.
-- Move the number in Column 1 of that row to next row. Move all the numbers in column 1 after that row in their next rows.
-- generate MISSING in Column 1.
-- Below is the example

file1.txt
1 1
3 2
4 3
5 4
7 5
8 6
9 7
10 8
9
10

As per third scenario what I want is

file2.txt
1 1 PASS
MISSING 2 FAIL
3 3 PASS
4 4 PASS
5 5 PASS
MISSING 6 FAIL
7 7 PASS
8 8 PASS
9 9 PASS
10 10 PASS


- I have figured out PASS FAIL logic which is basically comparison between 2 columns. But I am not able to figure out moving rows logic.
- Any help for this is really appreciated.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Single column to multiple columns in awk

Hi - I'm new to the awk programming language. I'm trying to print a single column of data to several columns, and I found an article on iTWorld.com (ITworld.com - Printing in columns). It looks like the mkCols2 script is very close to what I need to do, but it looks like the end of the code... (2 Replies)
Discussion started by: astroDave
2 Replies

2. UNIX for Advanced & Expert Users

Solution for the Massive Comparison Operation

Hi We have 50 million records in mainframes DB2. We have a requirement to Record the Change Data Capture(CDC) records. i.e New Records or Updated Records that were added into the DB2. Unfortunately we dont have any column indicators to give the details of the changes made to the records. ... (8 Replies)
Discussion started by: raghav288
8 Replies

3. Shell Programming and Scripting

grep/awk on a single column in a for loop

Hi I'm trying to loop through a small list of id's and then pull out a few columns if the id matches that found in column 2 of the larger file. I managed to get one command to work awk -F " " '{if ($2 == '154080196') print $2,$3,$4}' tst.txt | less However, when I try it in a for loop I... (3 Replies)
Discussion started by: flotsam
3 Replies

4. Shell Programming and Scripting

column value comparison in a file

Hi, Can any one help with my below requirement. i need to compare each line by line and in each line i have to compare some columns values with previous line column values in perl script. Can any one help me........! its very urgent. Thanks (3 Replies)
Discussion started by: jam_prasanna
3 Replies

5. Shell Programming and Scripting

awk column comparison big file

Hi all, I would like to compare a column in one file to a column in another file and when there is a match it prints the first column and the corresponding second column. Example File1 ABA ABC ABE ABF File 2 ABA 123 ABB 124 ABD 125 ABC 126 So what I would like printed to a... (6 Replies)
Discussion started by: pcg
6 Replies

6. Shell Programming and Scripting

Subtracting each row from the first row in a single column file using awk

Hi Friends, I have a single column data like below. 1 2 3 4 5 I need the output like below. 0 1 2 3 4 where each row (including first row) subtracting from first row and the result should print below like the way shown in output file. Thanks Sid (11 Replies)
Discussion started by: ks_reddy
11 Replies

7. UNIX for Dummies Questions & Answers

awk solution to duplicate lines based on column

Hi experts, I have a tab-delimited file with one column containing values separated by a comma. I wish to duplicate the entire line for every value in that comma-delimited field. For example: $cat file 4444 4444 4444 4444 9990 2222,7777 6666 2222 ... (3 Replies)
Discussion started by: torchij
3 Replies

8. Shell Programming and Scripting

Range Comparison Of Column Value in File1 with Other File

Hi, I have a file1 whose 17th column needs to be checked if it exists in between the values of column 2 & column 3 as mentioned in another file2. Output of the matched value to be put in separate file 3 & 4. File1: ... (10 Replies)
Discussion started by: siramitsharma
10 Replies

9. Shell Programming and Scripting

Paste 2 single column files to a single file

Hi, I have 2 csv/txt files with single columns. I am trying to merge them using paste, but its not working.. output3.csv: flowerbomb everlon-jewelry sofft steve-madden dolce-gabbana-watchoutput2.csv: http://www1.abc.com/cms/slp/2/Flowerbomb http://www1.abc.com/cms/slp/2/Everlon-Jewelry... (5 Replies)
Discussion started by: ajayakunuri
5 Replies

10. Shell Programming and Scripting

Solution for replacement of 4th column with 3rd column in a file using awk/sed preserving delimters

input "A","B","C,D","E","F" "S","T","U,V","W","X" "AA","BB","CC,DD","EEEE","FFF" required output: "A","B","C,D","C,D","F" "S", T","U,V","U,V","X" "AA","BB","CC,DD","CC,DD","FFF" tried using awk but double quotes not preserving for every field. any help to solve this is much... (5 Replies)
Discussion started by: khblts
5 Replies
Net::Config(3pm)					 Perl Programmers Reference Guide					  Net::Config(3pm)

NAME
Net::Config - Local configuration data for libnet SYNOPSYS
use Net::Config qw(%NetConfig); DESCRIPTION
"Net::Config" holds configuration data for the modules in the libnet distribution. During installation you will be asked for these values. The configuration data is held globally in a file in the perl installation tree, but a user may override any of these values by providing their own. This can be done by having a ".libnetrc" file in their home directory. This file should return a reference to a HASH containing the keys described below. For example # .libnetrc { nntp_hosts => [ "my_preferred_host" ], ph_hosts => [ "my_ph_server" ], } __END__ METHODS
"Net::Config" defines the following methods. They are methods as they are invoked as class methods. This is because "Net::Config" inherits from "Net::LocalCfg" so you can override these methods if you want. requires_firewall HOST Attempts to determine if a given host is outside your firewall. Possible return values are. -1 Cannot lookup hostname 0 Host is inside firewall (or there is no ftp_firewall entry) 1 Host is outside the firewall This is done by using hostname lookup and the "local_netmask" entry in the configuration data. NetConfig VALUES nntp_hosts snpp_hosts pop3_hosts smtp_hosts ph_hosts daytime_hosts time_hosts Each is a reference to an array of hostnames (in order of preference), which should be used for the given protocol inet_domain Your internet domain name ftp_firewall If you have an FTP proxy firewall (NOT an HTTP or SOCKS firewall) then this value should be set to the firewall hostname. If your firewall does not listen to port 21, then this value should be set to "hostname:port" (eg "hostname:99") ftp_firewall_type There are many different ftp firewall products available. But unfortunately there is no standard for how to traverse a firewall. The list below shows the sequence of commands that Net::FTP will use user Username for remote host pass Password for remote host fwuser Username for firewall fwpass Password for firewall remote.host The hostname of the remote ftp server 0 There is no firewall 1 USER user@remote.host PASS pass 2 USER fwuser PASS fwpass USER user@remote.host PASS pass 3 USER fwuser PASS fwpass SITE remote.site USER user PASS pass 4 USER fwuser PASS fwpass OPEN remote.site USER user PASS pass 5 USER user@fwuser@remote.site PASS pass@fwpass 6 USER fwuser@remote.site PASS fwpass USER user PASS pass 7 USER user@remote.host PASS pass AUTH fwuser RESP fwpass ftp_ext_passive ftp_int_passive FTP servers can work in passive or active mode. Active mode is when you want to transfer data you have to tell the server the address and port to connect to. Passive mode is when the server provide the address and port and you establish the connection. With some firewalls active mode does not work as the server cannot connect to your machine (because you are behind a firewall) and the firewall does not re-write the command. In this case you should set "ftp_ext_passive" to a true value. Some servers are configured to only work in passive mode. If you have one of these you can force "Net::FTP" to always transfer in passive mode; when not going via a firewall, by setting "ftp_int_passive" to a true value. local_netmask A reference to a list of netmask strings in the form "134.99.4.0/24". These are used by the "requires_firewall" function to determine if a given host is inside or outside your firewall. The following entries are used during installation & testing on the libnet package test_hosts If true then "make test" may attempt to connect to hosts given in the configuration. test_exists If true then "Configure" will check each hostname given that it exists perl v5.16.2 2012-08-26 Net::Config(3pm)
All times are GMT -4. The time now is 09:50 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy