09-13-2008
merging two files
Friends,
os: redhat enterprise linux/SCO UNIX5.0
I have two files and I would like to merge on given key value.
Quote:
File1
111 : abcd : 75000 : newdelhi : jacob
222 : cdef : 50000 : mumbai : smith
334 : defg : 80000 : chennai : murphy
445 : dfgh : 80000 : kolkota : richard
555 : fhtk : 80000 : mumbai : gary
666 : hktk : 55000 : newdelhi : viva
file2
peter, 70000, ahmedabad, 777
jacob, 75000, newdelhi, 112
serly, 90000, nagpur, 888
rihcard, 80000, kolkata, 450
turig, 90000, newdelhi, 765
Here you can observe that the file1 is delimited with ":" and file2 with ","
and the out put I want is :
output on name base:
jacob newdelhi 75000 112 111
richard kolkota 80000 445 450
output on city base:
newdelhi 111 112 75000 jacob
kolkota 445 450 60000 richard
Now I have tried with join commd but it does not supporte multiple delimiters.
and if records length is not fixed.
join -a1 5 -a2 1 -t[;,] -o file1 file2 > outname
Can any one give details if join supports strings base join uitlity.
Thanks in advance friends.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Thanks in advance
I have 2 files having key field in each.I would like to join both on common key.I have used join but not sucessful.
The files are attached here .
what i Want in the output is on the key field SLS OFFR .
I have used join commd but not successful.
File one
=======
SNO ... (6 Replies)
Discussion started by: vakharia Mahesh
6 Replies
2. 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
3. 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
4. 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
5. 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
6. 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
7. 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
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
LEARN ABOUT OPENDARWIN
join
JOIN(1) BSD General Commands Manual JOIN(1)
NAME
join -- relational database operator
SYNOPSIS
join [-a file_number | -v file_number] [-e string] [-o list] [-t char] [-1 field] [-2 field] file1 file2
DESCRIPTION
The join utility performs an ``equality join'' on the specified files and writes the result to the standard output. The ``join field'' is
the field in each file by which the files are compared. The first field in each line is used by default. There is one line in the output
for each pair of lines in file1 and file2 which have identical join fields. Each output line consists of the join field, the remaining
fields from file1 and then the remaining fields from file2.
The default field separators are tab and space characters. In this case, multiple tabs and spaces count as a single field separator, and
leading tabs and spaces are ignored. The default output field separator is a single space character.
Many of the options use file and field numbers. Both file numbers and field numbers are 1 based, i.e. the first file on the command line is
file number 1 and the first field is field number 1. The following options are available:
-a file_number
In addition to the default output, produce a line for each unpairable line in file file_number.
-e string
Replace empty output fields with string.
-o list
The -o option specifies the fields that will be output from each file for each line with matching join fields. Each element of list
has the either the form 'file_number.field', where file_number is a file number and field is a field number, or the form '0' (zero),
representing the join field. The elements of list must be either comma (``,'') or whitespace separated. (The latter requires quot-
ing to protect it from the shell, or, a simpler approach is to use multiple -o options.)
-t char
Use character char as a field delimiter for both input and output. Every occurrence of char in a line is significant.
-v file_number
Do not display the default output, but display a line for each unpairable line in file file_number. The options -v 1 and -v 2 may be
specified at the same time.
-1 field
Join on the field'th field of file 1.
-2 field
Join on the field'th field of file 2.
When the default field delimiter characters are used, the files to be joined should be ordered in the collating sequence of sort(1), using
the -b option, on the fields on which they are to be joined, otherwise join may not report all field matches. When the field delimiter char-
acters are specified by the -t option, the collating sequence should be the same as sort(1) without the -b option.
If one of the arguments file1 or file2 is ``-'', the standard input is used.
DIAGNOSTICS
The join utility exits 0 on success, and >0 if an error occurs.
COMPATIBILITY
For compatibility with historic versions of join, the following options are available:
-a In addition to the default output, produce a line for each unpairable line in both file 1 and file 2.
-j1 field
Join on the field'th field of file 1.
-j2 field
Join on the field'th field of file 2.
-j field
Join on the field'th field of both file 1 and file 2.
-o list ...
Historical implementations of join permitted multiple arguments to the -o option. These arguments were of the form
'file_number.field_number' as described for the current -o option. This has obvious difficulties in the presence of files named
'1.2'.
These options are available only so historic shellscripts don't require modification and should not be used.
STANDARDS
The join command conforms to IEEE Std 1003.1-2001 (``POSIX.1'').
SEE ALSO
awk(1), comm(1), paste(1), sort(1), uniq(1)
BSD
April 18, 2002 BSD