08-12-2008
Join will help if the files are sorted. Also you have in your file1 rows, that have not 4 fields/columns but only 3.
Also in your desired output your first line looks like:
Quote:
SUPHYA 0002522 122 JACOB a1232
but in your input file1, the only line that has "a1232" in it, has the key "0002522". The line of file2 that matches and contains "SUPHYA", has "0002533" as key... so how should that work. The desired output doesn't not work with the input files. I see no logic behind the output or maybe it is screwed up because it is not in [ code ] [ /code ] tags, idk.
If there is no match, you still want the line of file2 printed out, it seems, sometimes, not always.
Maybe you are better off using awk and to check if $NF of file1 matches with $2 or $NF of file2.
Something is screwed up in the desired output file, at least for me.
EDIT: Also in the attached file there is only the content of file2 as far as I can see.
@prakashreddy
He used join already and without sorting it won't work anyway. Also a simple paste will help nothing to get that desired output. Paste can't join on fields. Or maybe you can show how to do that.
Last edited by zaxxon; 08-12-2008 at 02:58 AM..
Reason: Adding a note for attachment
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I have got two files
1.txt
1111|apple|
2222|orange|
2.txt
1111|1234|000000000004356|
1111|1234|000000001111|
1111|1234|002000011112|
2222|5678|000000002222|
2222|9102|000000002222|
I need to merge these two so that my out put looks like below:
Search code being used should be... (4 Replies)
Discussion started by: jisha
4 Replies
2. Shell Programming and Scripting
i would like to merge two files that have the same format but have different data.
i would like to create one output file that contains information from both the original files.:rolleyes: (2 Replies)
Discussion started by: joe black
2 Replies
3. Shell Programming and Scripting
Hi everyone,
I have two files which will be exactly same at first. After sometime there will be inserts in one file. My problem is how to reflect these changes in second file also.
I found out that any compare and merge utility would do the job like, GNU " sdiff " command. But the... (14 Replies)
Discussion started by: rameshonline
14 Replies
4. Shell Programming and Scripting
Hi,
I want to merge the two files on the basis of columns like...
file 1
Data Key
A 12
B 13
file2
Data Value
A A1
A A2
B B1
B B2 (5 Replies)
Discussion started by: clx
5 Replies
5. UNIX for Dummies Questions & Answers
Hi,
I have two files a.txt and b.txt.
a.txt
1
2
3
4
b.txt
a
b
c
d
e
I want to generate a file c.txt by merging these two file and the resultant file would contain
c.txt
1 (4 Replies)
Discussion started by: siba.s.nayak
4 Replies
6. Shell Programming and Scripting
I have two files
file 1 containing x rows and 1 column
file 2 containing x rows and 1 column
I want to merge both the files and add a comma between the two
eg
plz guide (1 Reply)
Discussion started by: test_user
1 Replies
7. Shell Programming and Scripting
Hello all,
I have limited experience in shell scripting. Here goes my question:
I have two directories that have same number of files with same file names i.e. consider 2 directories A and B. Both directories have files 1.txt, 2.txt......
I need to merge the file 1.txt of A with file 1.txt... (5 Replies)
Discussion started by: jaysean
5 Replies
8. Shell Programming and Scripting
:::::::::
::FileA::
:::::::::
A1-------A2--------A3---A4---A5--
=================================
AC5VXVLT-XX----------------------
B57E434--XXXX1-----MMMM-ZZZ--111-
C325G20--XXXXX3----CCCC------3332
DC35S51--XXXXY1----DDDD------44X-
DC35S52--XXXXY2----DDDD------44Y-... (5 Replies)
Discussion started by: lordsmiter
5 Replies
9. Shell Programming and Scripting
Guys,
I am having little problem with getting a daily report!
The daily process that I do is as follows
1. Unload Header for the report from the systables to one unl file, say Header.unl
2. Unload the data from the required table/tables to another unl file, say Data.unl
3. Send a... (2 Replies)
Discussion started by: PikK45
2 Replies
10. Shell Programming and Scripting
Hi All ,
I have a scenario where we need to combine two files .
Below are the sample files and expected output ,
File 1:
1|ab
1|ac
1|ae
2|ad
2|ac
File 2:
1|xy
1|fc
2|gh
2|ku
Output file :
1|ab|xy (3 Replies)
Discussion started by: saj
3 Replies
join(1) General Commands Manual join(1)
NAME
join - relational database operator
SYNOPSIS
[options] file1 file2
DESCRIPTION
forms, on the standard output, a join of the two relations specified by the lines of file1 and file2. If file1 or file2 is the standard
input is used.
file1 and file2 must be sorted in increasing collating sequence (see Environment Variables below) on the fields on which they are to be
joined; normally the first in each line.
The output contains one line for each pair of lines in file1 and file2 that have identical join fields. The output line normally consists
of the common field followed by the rest of the line from file1, then the rest of the line from file2.
The default input field separators are space, tab, or new-line. In this case, multiple separators count as one field separator, and lead-
ing separators are ignored. The default output field separator is a space.
Some of the below options use the argument n. This argument should be a or a referring to either file1 or file2, respectively.
Options
In addition to the normal output,
produce a line for each unpairable line in file n, where n is or
Replace empty output fields by string
s.
Join on field
m of both files. The argument m must be delimited by space characters. This option and the following two are provided for
backward compatibility. Use of the and options ( see below ) is recommended for portability.
Join on field
m of file1.
Join on field
m of file2.
Each output line comprises the fields specified in
list, each element of which has the form where n is a file number and m is a field number. The common field is not printed
unless specifically requested.
Use character
c as a separator (tab character). Every appearance of c in a line is significant. The character c is used as the field sepa-
rator for both input and output.
Instead of the default output,
produce a line only for each unpairable line in file_number, where file_number is or
Join on field
f of file 1. Fields are numbered starting with 1.
Join on field
f of file 2. Fields are numbered starting with 1.
EXTERNAL INFLUENCES
Environment Variables
determines the collating sequence expects from input files.
determines the alternative blank character as an input field separator, and the interpretation of data within files as single and/or multi-
byte characters. also determines whether the separator defined through the option is a single- or multi-byte character.
If or is not specified in the environment or is set to the empty string, the value of is used as a default for each unspecified or empty
variable. If is not specified or is set to the empty string, a default of ``C'' (see lang(5)) is used instead of If any internationaliza-
tion variable contains an invalid setting, behaves as if all internationalization variables are set to ``C'' (see environ(5)).
International Code Set Support
Single- and multi-byte character code sets are supported with the exception that multi-byte-character file names are not supported.
EXAMPLES
The following command line joins the password file and the group file, matching on the numeric group ID, and outputting the login name, the
group name, and the login directory. It is assumed that the files have been sorted in the collating sequence defined by the or environment
variable on the group ID fields.
The following command produces an output consisting all possible combinations of lines that have identical first fields in the two sorted
files sf1 and sf2, with each line consisting of the first and third fields from and the second and fourth fields from
WARNINGS
With default field separation, the collating sequence is that of with the sequence is that of a plain sort.
The conventions of and are incongruous.
Numeric filenames may cause conflict when the option is used immediately before listing filenames.
AUTHOR
was developed by OSF and HP.
SEE ALSO
awk(1), comm(1), sort(1), uniq(1).
STANDARDS CONFORMANCE
join(1)