Sponsored Content
Top Forums Shell Programming and Scripting Print only lines where fields concatenated match strings Post 302757737 by Ophiuchus on Friday 18th of January 2013 01:32:56 AM
Old 01-18-2013
Print only lines where fields concatenated match strings

Hello everyone,

Maybe somebody could help me with an awk script.

I have this input (field separator is comma ","):
Code:
547894982,M|N|J,U|Q|P,98,101,0,1,1
234900027,M|N|J,U|Q|P,98,101,0,1,1
234900023,M|N|J,U|Q|P,98,54,3,1,1
234900028,M|H|J,S|Q|P,98,101,0,1,1
234900030,M|N|J,U|F|P,98,101,0,1,1
547894932,M|H|J,U|Q|P,98,101,0,1,1
547894900,M|N|J,U|Q|P,98,101,0,1,1
547894995,M|T|J,U|Q|P,98,101,0,1,1
547894977,M|N|J,U|Q|P,0,101,0,1,1
300888261,R|N|J,U|Q|P,98,101,0,1,1

If the resulting string of concatenate fields from field2 to last field is different to the following strings:
M|N|JU|Q|P98101011
M|H|JU|Q|P98101011
M|H|JS|Q|P98101011

Then print those lines, so the output should be:
Code:
234900023,M|N|J,U|Q|P,98,54,3,1,1,Different
234900030,M|N|J,U|F|P,98,101,0,1,1,Different
547894995,M|T|J,U|Q|P,98,101,0,1,1,Different
547894977,M|N|J,U|Q|P,0,101,0,1,1,Different
300888261,R|N|J,U|Q|P,98,101,0,1,1,Different

I hope the explanation is good enough.

Thanks in advance
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Strings from one file which exactly match to the 1st column of other file and then print lines.

Hi, I have two files. 1st file has 1 column (huge file containing ~19200000 lines) and 2nd file has 2 columns (small file containing ~6000 lines). ################################# huge_file.txt a a ab b ################################## small_file.txt a 1.5 b 2.5 ab ... (4 Replies)
Discussion started by: AshwaniSharma09
4 Replies

2. Shell Programming and Scripting

Splitting Concatenated Words With Largest Strings First

hello, I had posted earlier help for a script for splitting concatenated words . The script was supposed to read words from a master file and split concatenated words in the slave/input file. Thanks to the help I got, the following script which works very well was posted. It detects residues by... (14 Replies)
Discussion started by: gimley
14 Replies

3. Shell Programming and Scripting

awk strings search + print next column after match

Hi, I have a file filled with search strings which have a blank in between and look like this: S. g. Ehr. o. Jg. v. d. Chijs g. Ehr. Now i would like to search for the strings and it also shall return the next column after the match. awk -v FILE="search_strings.txt" 'BEGIN {... (10 Replies)
Discussion started by: sdf
10 Replies

4. Shell Programming and Scripting

Print strings that match pattern with awk

I have a file with many lines which contain strings like .. etc. But with no rule regarding field separators or anything else. I want to print ONLY THE STRING from each line , not the entire line !!! For example from the lines : Flow on service executed with success in . Performances... (5 Replies)
Discussion started by: black_fender
5 Replies

5. Shell Programming and Scripting

Returning two lines if they both match strings

Hi I have a problem where I have a large amount of files that I need to scan and return a line and its following line, but only when the following line begins with a string. String one - line one must begin with 'Bill' String two - line two must begin with 'Jones'. If these two... (7 Replies)
Discussion started by: majormajormajor
7 Replies

6. UNIX for Dummies Questions & Answers

awk - (URGENT!) Print lines sort and move lines if match found

URGENT HELP IS NEEDED!! I am looking to move matching lines (01 - 07) from File1 and 77 tab the matching string from File2, to File3.txt. I am almost done but - Currently, script is not printing lines to File3.txt in order. - Also the matching lines are not moving out of File1.txt ... (1 Reply)
Discussion started by: High-T
1 Replies

7. Shell Programming and Scripting

Match the value & print lines from the match

Hello, I have a file contains two columns. I need to print the lines after “xxx” so i'm trying to match "xxx" & cut the lines after that. I'm trying with the grep & cut command, if there any simple way to extract this please help me. Sample file : name id AAA 123 AAB 124 AAC 125... (4 Replies)
Discussion started by: Shenbaga.d
4 Replies

8. Shell Programming and Scripting

awk to print fields that match using conditions and a default value for non-matching in two files

Trying to use awk to match the contents of each line in file1 with $5 in file2. Both files are tab-delimited and there may be a space or special character in the name being matched in file2, for example in file1 the name is BRCA1 but in file2 the name is BRCA 1 or in file1 name is BCR but in file2... (6 Replies)
Discussion started by: cmccabe
6 Replies

9. Shell Programming and Scripting

awk to combine lines if fields match in lines

In the awk below, what I am attempting to do is check each line in the tab-delimeted input, which has ~20 lines in it, for a keyword SVTYPE=Fusion. If the keyword is found I am splitting $3 using the . (dot) and reading the portion before and after the dot in an array a. If it does have that... (12 Replies)
Discussion started by: cmccabe
12 Replies

10. Shell Programming and Scripting

awk to print match or non-match and select fields/patterns for non-matches

In the awk below I am trying to output those lines that Match between file1 and file2, those Missing in file1, and those missing in file2. Using each $1,$2,$4,$5 value as a key to match on, that is if those 4 fields are found in both files the match, but if those 4 fields are not found then missing... (0 Replies)
Discussion started by: cmccabe
0 Replies
Data::Pager(3pm)					User Contributed Perl Documentation					  Data::Pager(3pm)

NAME
Data::Pager - flexible data pager SYNOPSIS
use Data::Pager; my $pager = Data::Pager->new({ current => 100, perpage => 10, offset => 5, limit => 2000, }); #~ accessors: $pager->current; # 100 $pager->next; # 101 $pager->prev; # 99 $pager->limit; # 2000 $pager->start; # 1 # not typical start of a programmer $pager->final; # # 400 (which denotes 2000 / 5 pager links) $pager->end; # / $pager->from; # 495 (may serve in SQL LIMIT clause) $pager->to; # 500 (may serve in SQL LIMIT clause) $pager->list; # 95 96 97 98 99 100 101 102 103 104 105 DESCRIPTION
This class implements the familiar pager where the current position is centered. CONSTRUCTOR
new my $pager = Data::Pager->new({ current => 1, # this is the current pager position perpage => 10, # the pager consists of this number of links (defaults to 10) offset => 5, # this is the number of results (fetched from the DB for example) per result limit => 100, # how far is the pager allowed }); # sample output from html table: id ... ..... ... 1. ... ..... ... 2. ... ..... ... 3. ... ..... ... 4. ... ..... ... 5. ... ..... ... 1 2 3 4 5 6 7 8 9 10 Returns object or undef if current position is beyond the limit. METHODS
current $pager->current(); Returns the current pager position. set_current($digit) $pager->set_current(850); $pager->set_current(850)->next(); Sets the current pager position. Returns the pager object on succes, undef on false. next Returns the next pager position or undef if this is the last one. prev Returns the previous pager position or undef if this is the first one. start Returns 1 - the start pager position. end Returns the end pager position. first Returns the first pager position for this result set. last Returns the last pager position for this result set. from '1' => { 'to' => 5, 'next' => 2, 'prev' => undef, 'from' => 0 }, '2' => { 'to' => 10, 'next' => 3, 'prev' => 1, 'from' => 5 }, ... Returns the start result this pager position refers to. to Returns the end result this pager position refers to. list @_ = $pager->list; $_ = $pager->list; Returns the pager links for this result set. In list context returns the resulting list. In scalar context returns reference to the resulting list. # note the alignment $pager->set_current(10); print $pager->list; # 6 7 8 9 [10] 11 12 13 14 15 $pager->set_current(33); print $pager->list; # 28 29 30 31 32 [33] 34 35 36 37 38 SEE ALSO
Data::Page BUGS
What BUGS? AUTHOR
Vidul Nikolaev Petrov, vidul@cpan.org COPYRIGHT
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of the license can be found in the LICENSE file included with this module. perl v5.10.0 2006-04-04 Data::Pager(3pm)
All times are GMT -4. The time now is 06:26 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy