Sponsored Content
Top Forums Shell Programming and Scripting awk find the first matching row Post 302919185 by chailee on Monday 29th of September 2014 11:35:10 AM
Old 09-29-2014
awk find the first matching row

I would like to find the first matching row and continue to search from the matching row. if column3 equal to 1 in the row, find the next matching row based on the criteria below. column3 in the matching row equal to 0 and column2 equal to column2 in the matching row



test.csv - test data
Code:
2014-09-01 00:01:30|T1|1|0|RE|Y
2014-09-01 00:03:05|T1|0
2014-09-17 23:28:13|T2|1|1|RE|N
2014-09-17 23:29:14|T2|1|0|RE|N      
2014-09-17 23:31:16|T2|0
2014-09-17 23:31:18|T2|0

expected output
Code:
 
2014-09-01 00:01:30|2014-09-01 00:03:05|T1|0|RE|Y
2014-09-17 23:28:13|2014-09-17 23:31:16|T2|0|RE|N

I have tried using the awk below, but the result is not correct.
Code:
 
awk '{if (($3=="0" && $2==B[2] && B[3]=="1"))
{print B[1], $1, B[2], B[4], B[5], B[6]; next}
{split($0,B)}}' FS=\| OFS=\| test.csv

result
Code:
 
2014-09-01 00:01:30|2014-09-01 00:03:05|T1|0|RE|Y
2014-09-17 23:29:14|2014-09-17 23:31:16|T2|0|RE|N
2014-09-17 23:29:14|2014-09-17 23:31:18|T2|0|RE|N

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

SED: delete matching row and 4 next rows?

Hi, Tried to look for solution, and found something similar but could not adapt the solution for my needs.. I'm trying to match a pattern (in this case "ProcessType")in a logfile, then delete that line and the 4 following lines. The logfile looks as follows: ProcessType: PROCESS_A... (5 Replies)
Discussion started by: Juha
5 Replies

2. UNIX for Dummies Questions & Answers

To find the Row number

Hi Can any one tell me what is the command to find out the row id or row number for a particular record Thanks sri (6 Replies)
Discussion started by: laxmi131
6 Replies

3. Shell Programming and Scripting

awk command : row by row merging of two files

I want to write a scrpit to merge files row wise (actually concatinating) main.txt X Y Z file 1 A B C file 2 1 2 3 now i want the script to check if the file1 is empty or not, if empty then make it like A B C 1 2 3 again to check if second file is empty if not do as done... (0 Replies)
Discussion started by: shashi792
0 Replies

4. Shell Programming and Scripting

Printing entire field, if at least one row is matching by AWK

Dear all, I have been trying to print an entire field, if the first line of the field is matching. For example, my input looks something like this. aaa ddd zzz 123 987 126 24 0.650 985 354 9864 0.32 0.333 4324 000 I am looking for a pattern,... (5 Replies)
Discussion started by: Chulamakuri
5 Replies

5. Shell Programming and Scripting

Find min.max value if matching columns found using AWK

Input_ File : 2 3 4 5 1 1 0 1 2 1 -1 1 2 1 3 1 3 1 4 1 6 5 6 6 6 6 6 7 6 7 6 8 5 8 6 7 Desired output : 2 3 4 5 -1 1 4 1 6 5 6 8 5 8 6 7 (3 Replies)
Discussion started by: vasanth.vadalur
3 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 to print first row with forth column and last row with fifth column in each file

file with this content awk 'NR==1 {print $4} && NR==2 {print $5}' file The error is shown with syntax error; what can be done (4 Replies)
Discussion started by: cdfd123
4 Replies

8. UNIX for Dummies Questions & Answers

find Search - Find files not matching a pattern

Hello all, this is my first and probably not my last question around here. I do hope you can help or at least point me in the right direction. My question is as follows, I need to find files and possible folders which are not owner = AAA group = BBB with a said location and all sub folders ... (7 Replies)
Discussion started by: kilobyter
7 Replies

9. Shell Programming and Scripting

Comparing same column from two files, printing whole row with matching values

First I'd like to apologize if I opened a thread which is already open somewhere. I did a bit of searching but could quite find what I was looking for, so I will try to explaing what I need. I'm writing a script on our server, got to a point where I have two files with results. Example: File1... (6 Replies)
Discussion started by: mitabrev83
6 Replies

10. Shell Programming and Scripting

awk to combine all matching dates and remove non-matching

Using the awk below I am able to combine all the matching dates in $1, but I can not seem to remove the non-matching from the file. Thank you :). file 20161109104500.0+0000,x,5631 20161109104500.0+0000,y,2 20161109104500.0+0000,z,2 20161109104500.0+0000,a,4117... (3 Replies)
Discussion started by: cmccabe
3 Replies
SQLSRV_FETCH_OBJECT(3)													    SQLSRV_FETCH_OBJECT(3)

sqlsrv_fetch_object - Retrieves the next row of data in a result set as an object

SYNOPSIS
mixed sqlsrv_fetch_object (resource $stmt, [string $className], [array $ctorParams], [int $row], [int $offset]) DESCRIPTION
Retrieves the next row of data in a result set as an instance of the specified class with properties that match the row field names and values that correspond to the row field values. PARAMETERS
o $stmt - A statement resource created by sqlsrv_query(3) or sqlsrv_execute(3). o $className - The name of the class to instantiate. If no class name is specified, stdClass is instantiated. o $ctorParams - Values passed to the constructor of the specified class. If the constructor of the specified class takes parameters, the ctor- Params array must be supplied. o $row - The row to be accessed. This parameter can only be used if the specified statement was prepared with a scrollable cursor. In that case, this parameter can take on one of the following values: oSQLSRV_SCROLL_NEXT oSQLSRV_SCROLL_PRIOR oSQLSRV_SCROLL_FIRST oSQLSRV_SCROLL_LAST oSQLSRV_SCROLL_ABSOLUTE oSQLSRV_SCROLL_RELATIVE o $offset - Specifies the row to be accessed if the row parameter is set to SQLSRV_SCROLL_ABSOLUTE or SQLSRV_SCROLL_RELATIVE. Note that the first row in a result set has index 0. RETURN VALUES
Returns an object on success, NULL if there are no more rows to return, and FALSE if an error occurs or if the specified class does not exist. EXAMPLES
Example #1 sqlsrv_fetch_object(3) example The following example demonstrates how to retrieve a row as a stdClass object. <?php $serverName = "serverNamesqlexpress"; $connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password"); $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn === false ) { die( print_r( sqlsrv_errors(), true)); } $sql = "SELECT fName, lName FROM Table_1"; $stmt = sqlsrv_query( $conn, $sql); if( $stmt === false ) { die( print_r( sqlsrv_errors(), true)); } // Retrieve each row as an object. // Because no class is specified, each row will be retrieved as a stdClass object. // Property names correspond to field names. while( $obj = sqlsrv_fetch_object( $stmt)) { echo $obj->fName.", ".$obj->lName."<br />"; } ?> NOTES
If a class name is specified with the optional $className parameter and the class has properties whose names match the result set field names, the corresponding result set values are applied to the properties. If a result set field name does not match a class property, a property with the result set field name is added to the object and the result set value is applied to the property. The following rules apply when using the $className parameter: oField-property name matching is case-sensitive. oField-property matching occurs regardless of access modifiers. oClass property data types are ignored when applying a field value to a property. oIf the class does not exist, the function returns FALSE and adds an error to the error collection. Regardless of whether the $className parameter is supplied, if a field with no name is returned, the field value will be ignored and a warning will be added to the error collection. When consuming a result set that has multiple columns with the same name, it may be better to use sqlsrv_fetch_array(3) or the combination of sqlsrv_fetch(3) and sqlsrv_get_field(3). SEE ALSO
sqlsrv_fetch(3), sqlsrv_fetch_array(3). PHP Documentation Group SQLSRV_FETCH_OBJECT(3)
All times are GMT -4. The time now is 04:45 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy