Sponsored Content
Top Forums Shell Programming and Scripting Creating a file with matching records from two other files Post 302381650 by ahmad.diab on Saturday 19th of December 2009 10:49:15 AM
Old 12-19-2009
Quote:
Originally Posted by Scrutinizer
Ahmad, the order of the output is not fixed. When I run it using mawk I get:
Code:
2222222222,fghij,09.08.09,948p0
sdjkfh343mn,74895495.89,2222222222,02.05.09,uyiuewy

1111111111,abcde,12.10.09,675069AG
abjkfd689,12.346,1111111111,15.09.09,kjfjlja
fhaie87oikjl,456788.09,1111111111,12.06.09,iieuwfdi1



---------- Post updated at 21:55 ---------- Previous update was at 21:54 ----------

Alternative in shell :
Code:
while read line; do
  if match=$(grep "${line%%,*}" file2); then
    printf "$line\n$match\n"
  fi
done < file1 > file3

Output:
Code:
1111111111,abcde,12.10.09,675069AG
abjkfd689,12.346,1111111111,15.09.09,kjfjlja
fhaie87oikjl,456788.09,1111111111,12.06.09,iieuwfdi1
2222222222,fghij,09.08.09,948p0
sdjkfh343mn,74895495.89,2222222222,02.05.09,uyiuewy

Not as efficient as awk though for large numbers but perhaps good enough.
Scrutinizer: you can use gawk or nawk and the o/p order will be as requested
SmilieSmilieSmilieSmilie
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How can you delete records in a file matching a pattern?

I am curious if the following can be done in a file in unix. Let's say I have a flat file with the following data AAA,12,2,,,, BBB,3,1,,,, CCC,,,,, DDD,2,,,,, SQQ,,,,, ASJ,,3,5 I only want to capture the data with values into a new file. If the data contains the pattern ,,,,, as in... (2 Replies)
Discussion started by: mode09
2 Replies

2. Shell Programming and Scripting

Removing non matching records

Hi all I have a file with records starting with "Page" has a first column. some of the records have some other junk characters has first column. so pls help me to remove rows which is not having "Page" has a first column. Thanks, Baski (2 Replies)
Discussion started by: baskivs
2 Replies

3. Shell Programming and Scripting

Compare two files with different number of records and output only the Extra records from file1

Hi Freinds , I have 2 files . File 1 |nag|HYd|1|Che |esw|Gun|2|hyd |pra|bhe|3|hyd |omu|hei|4|bnsj |uer|oeri|5|uery File 2 |nag|HYd|1|Che |esw|Gun|2|hyd |uer|oi|3|uery output : (9 Replies)
Discussion started by: i150371485
9 Replies

4. Shell Programming and Scripting

Creating single pattern for matching multiple files.

Hi friends, I have a some files in a directory. for example 856-abc 856-def 851-abc 945-def 956-abc 852-abc i want to display only those files whose name starts with 856* 945* and 851* using a single pattern. i.e 856-abc 856-def 851-abc 945-def the rest of the two files... (2 Replies)
Discussion started by: Little
2 Replies

5. Shell Programming and Scripting

Listing the file name and no of records in each files for the files created on a specific day

Hi, I want to display the file names and the record count for the files in the 2nd column for the files created today. i have written the below command which is listing the file names. but while piping the above command to the wc -l command its not working for me. ls -l... (5 Replies)
Discussion started by: Showdown
5 Replies

6. Shell Programming and Scripting

Performance of calculating total number of matching records in multiple files

Hello Friends, I've been trying to calculate total number of a certain match in multiple data records files (DRs). Let say I have a daily created folders for each day since the beginning of july like the following drwxrwxrwx 2 mmsuper med 65536 Jul 1 23:59 20150701 drwxrwxrwx 2 mmsuper... (1 Reply)
Discussion started by: EAGL€
1 Replies

7. Shell Programming and Scripting

Shell script to filter records in a zip file that contains matching columns from another file

Not sure if this is the correct forum for this question. I have two files. file1.zip, file2 Input: file1.zip col1, col2 , col3 a , b , 0:0:0:0:0:c436:9346:d40b x, y, 0:0:0:0:0:880:39f9:c9a7 m, n , 0:0:0:0:0:80c7:9161:fe00 file2.txt col1 c4:36:93:46:d4:0b... (1 Reply)
Discussion started by: anil.v
1 Replies

8. Shell Programming and Scripting

How can I retrieve the matching records from data file mentioned?

XYZNA0000778800Z 16123000012300321000000008000000000000000 16124000012300322000000007000000000000000 17234000012300323000000005000000000000000 17345000012300324000000004000000000000000 17456000012300325000000003000000000000000 9 XYZNA0000778900Z 16123000012300321000000008000000000000000... (8 Replies)
Discussion started by: later_troy
8 Replies

9. UNIX for Beginners Questions & Answers

Matching fields between two files, repeated records

In two previous posts (here) and (here), I received help from forum members comparing multiple fields across two files and selectively printing portions of each as output based upon would-be matches using awk. I had been fairly comfortable populating awk arrays with fields and using awk's special... (3 Replies)
Discussion started by: jvoot
3 Replies

10. UNIX for Beginners Questions & Answers

awk for matching fields between files with repeated records

Hello all, I am having trouble with what should be an easy task, but seem to be missing something fundamental. I have two files, with File 1 consisting of a single field of many thousands of records. I also have File 2 with two fields and many thousands of records. My goal is that when $1 of... (2 Replies)
Discussion started by: jvoot
2 Replies
regalgebra(7)							SAORD Documentation						     regalgebra(7)

NAME
RegAlgebra - Boolean Algebra on Spatial Regions SYNOPSIS
This document describes the boolean arithmetic defined for region expressions. DESCRIPTION
When defining a region, several shapes can be combined using boolean operations. The boolean operators are (in order of precedence): Symbol Operator Associativity ------ -------- ------------- ! not right to left & and left to right ^ exclusive or left to right | inclusive or left to right For example, to create a mask consisting of a large circle with a smaller box removed, one can use the and and not opera- tors: CIRCLE(11,11,15) & !BOX(11,11,3,6) and the resulting mask is: 1234567890123456789012345678901234567890 ---------------------------------------- 1:1111111111111111111111.................. 2:1111111111111111111111.................. 3:11111111111111111111111................. 4:111111111111111111111111................ 5:111111111111111111111111................ 6:1111111111111111111111111............... 7:1111111111111111111111111............... 8:1111111111111111111111111............... 9:111111111...1111111111111............... 10:111111111...1111111111111............... 11:111111111...1111111111111............... 12:111111111...1111111111111............... 13:111111111...1111111111111............... 14:111111111...1111111111111............... 15:1111111111111111111111111............... 16:1111111111111111111111111............... 17:111111111111111111111111................ 18:111111111111111111111111................ 19:11111111111111111111111................. 20:1111111111111111111111.................. 21:1111111111111111111111.................. 22:111111111111111111111................... 23:..11111111111111111..................... 24:...111111111111111...................... 25:.....11111111111........................ 26:........................................ 27:........................................ 28:........................................ 29:........................................ 30:........................................ 31:........................................ 32:........................................ 33:........................................ 34:........................................ 35:........................................ 36:........................................ 37:........................................ 38:........................................ 39:........................................ 40:........................................ A three-quarter circle can be defined as: CIRCLE(20,20,10) & !PIE(20,20,270,360) and looks as follows: 1234567890123456789012345678901234567890 ---------------------------------------- 1:........................................ 2:........................................ 3:........................................ 4:........................................ 5:........................................ 6:........................................ 7:........................................ 8:........................................ 9:........................................ 10:........................................ 11:...............111111111................ 12:..............11111111111............... 13:............111111111111111............. 14:............111111111111111............. 15:...........11111111111111111............ 16:..........1111111111111111111........... 17:..........1111111111111111111........... 18:..........1111111111111111111........... 19:..........1111111111111111111........... 20:..........1111111111111111111........... 21:..........1111111111.................... 22:..........1111111111.................... 23:..........1111111111.................... 24:..........1111111111.................... 25:...........111111111.................... 26:............11111111.................... 27:............11111111.................... 28:..............111111.................... 29:...............11111.................... 30:........................................ 31:........................................ 32:........................................ 33:........................................ 34:........................................ 35:........................................ 36:........................................ 37:........................................ 38:........................................ 39:........................................ 40:........................................ Two non-intersecting ellipses can be made into the same region: ELL(20,20,10,20,90) | ELL(1,1,20,10,0) and looks as follows: 1234567890123456789012345678901234567890 ---------------------------------------- 1:11111111111111111111.................... 2:11111111111111111111.................... 3:11111111111111111111.................... 4:11111111111111111111.................... 5:1111111111111111111..................... 6:111111111111111111...................... 7:1111111111111111........................ 8:111111111111111......................... 9:111111111111............................ 10:111111111............................... 11:...........11111111111111111............ 12:........111111111111111111111111........ 13:.....11111111111111111111111111111...... 14:....11111111111111111111111111111111.... 15:..11111111111111111111111111111111111... 16:.1111111111111111111111111111111111111.. 17:111111111111111111111111111111111111111. 18:111111111111111111111111111111111111111. 19:111111111111111111111111111111111111111. 20:111111111111111111111111111111111111111. 21:111111111111111111111111111111111111111. 22:111111111111111111111111111111111111111. 23:111111111111111111111111111111111111111. 24:.1111111111111111111111111111111111111.. 25:..11111111111111111111111111111111111... 26:...11111111111111111111111111111111..... 27:.....11111111111111111111111111111...... 28:.......111111111111111111111111......... 29:...........11111111111111111............ 30:........................................ 31:........................................ 32:........................................ 33:........................................ 34:........................................ 35:........................................ 36:........................................ 37:........................................ 38:........................................ 39:........................................ 40:........................................ You can use several boolean operations in a single region expression, to create arbitrarily complex regions. With the important exception below, you can apply the operators in any order, using parentheses if necessary to override the natural precedences of the operators. NB: Using a panda shape is always much more efficient than explicitly specifying "pie & annulus", due to the ability of panda to place a limit on the number of pixels checked in the pie shape. If you are going to specify the intersection of pie and annulus, use panda instead. As described in "help regreometry", the PIE slice goes to the edge of the field. To limit its scope, PIE usually is is combined with other shapes, such as circles and annuli, using boolean operations. In this context, it is worth noting that that there is a difference between -PIE and &!PIE. The former is a global exclude of all pixels in the PIE slice, while the latter is a local excludes of pixels affecting only the region(s) with which the PIE is combined. For example, the following region uses &!PIE as a local exclude of a single circle. Two other circles are also defined and are unaffected by the local exclude: CIRCLE(1,8,1) CIRCLE(8,8,7)&!PIE(8,8,60,120)&!PIE(8,8,240,300) CIRCLE(15,8,2) 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 - - - - - - - - - - - - - - - 15: . . . . . . . . . . . . . . . 14: . . . . 2 2 2 2 2 2 2 . . . . 13: . . . 2 2 2 2 2 2 2 2 2 . . . 12: . . 2 2 2 2 2 2 2 2 2 2 2 . . 11: . . 2 2 2 2 2 2 2 2 2 2 2 . . 10: . . . . 2 2 2 2 2 2 2 . . . . 9: . . . . . . 2 2 2 . . . . 3 3 8: 1 . . . . . . . . . . . . 3 3 7: . . . . . . 2 2 2 . . . . 3 3 6: . . . . 2 2 2 2 2 2 2 . . . . 5: . . 2 2 2 2 2 2 2 2 2 2 2 . . 4: . . 2 2 2 2 2 2 2 2 2 2 2 . . 3: . . . 2 2 2 2 2 2 2 2 2 . . . 2: . . . . 2 2 2 2 2 2 2 . . . . 1: . . . . . . . . . . . . . . . Note that the two other regions are not affected by the &!PIE, which only affects the circle with which it is combined. On the other hand, a -PIE is an global exclude that does affect other regions with which it overlaps: CIRCLE(1,8,1) CIRCLE(8,8,7) -PIE(8,8,60,120) -PIE(8,8,240,300) CIRCLE(15,8,2) 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 - - - - - - - - - - - - - - - 15: . . . . . . . . . . . . . . . 14: . . . . 2 2 2 2 2 2 2 . . . . 13: . . . 2 2 2 2 2 2 2 2 2 . . . 12: . . 2 2 2 2 2 2 2 2 2 2 2 . . 11: . . 2 2 2 2 2 2 2 2 2 2 2 . . 10: . . . . 2 2 2 2 2 2 2 . . . . 9: . . . . . . 2 2 2 . . . . . . 8: . . . . . . . . . . . . . . . 7: . . . . . . 2 2 2 . . . . . . 6: . . . . 2 2 2 2 2 2 2 . . . . 5: . . 2 2 2 2 2 2 2 2 2 2 2 . . 4: . . 2 2 2 2 2 2 2 2 2 2 2 . . 3: . . . 2 2 2 2 2 2 2 2 2 . . . 2: . . . . 2 2 2 2 2 2 2 . . . . 1: . . . . . . . . . . . . . . . The two smaller circles are entirely contained within the two exclude PIE slices and therefore are excluded from the region. SEE ALSO
See funtools(7) for a list of Funtools help pages version 1.4.2 January 2, 2008 regalgebra(7)
All times are GMT -4. The time now is 11:57 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy