11-05-2010
Well, take it in pieces. Most tools are line oriented. As the lines come in, they can be rewritten in a form more friendly to comparison, like:
recNo|Name|title|value
1|George/Brown|Value2|type2
Then, you can sort them and run the two files through comm -3 to get lines like this (\t is tab):
\t2|John/Cash|Value|14
2|John/Cash|Value|17
Then, a sed script can marry the lines back together and create your format (if you are fussy). One challenge is the the file 2 line may sort low, and come out first, as in my example. Also, output will not be in original order, but sorted ascending binary order.
Writing a merge routine is a bit much for scripts, but it can be done. Many programmers muff the logic even in more powerful languages, so using off the shelf tools is a big win.
Maybe the awk guys have a way to deal with it. How invariant is the format? Can lines come and go or move around. Your example has 2 different headers on rec no.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I have two files with same name residing in different directory. Each file has 14 columns. I want to compare column by column for each row.
Also, have to take two columns as key identifier;pick a row in File1; retrieve the corresponding row from file2 and then compare the values.
Can... (1 Reply)
Discussion started by: Sangtha
1 Replies
2. Shell Programming and Scripting
:(
Hello,
Having a problem with reading two files using awk/nawk, am new to both them.
I need to compare field values between two csv files and arrange for an appropriate output if both the values are equal or not for each feild.
$cat File1.csv... (4 Replies)
Discussion started by: pgop
4 Replies
3. Shell Programming and Scripting
Hi gurus
I have two csv files that are outputs. The file contains data similar to
s.no,number1,number2,date1
--------------------------------
1, a123,482.29,11/28/07 13:00
2,a124,602.7,9/24/07 14:00
3,a125,266.93,10/9/07 16.48
4,a126,785.15,11/14/07 16:08
<file 2>
s.no name... (2 Replies)
Discussion started by: inkyponky
2 Replies
4. Shell Programming and Scripting
Hi All,
I have two files and data looks like this:
File1 Contents
#Field1,Field2
Dist_Center_file1.txt;21
Dist_Center_file3.txt;20
Dist_Center_file2.txt;20
File2 Contents (*** No Header ***)
Dist_Center_file1.txt;23
Dist_Center_file2.txt;20
Dist_Center_file3.txt;20
I have... (4 Replies)
Discussion started by: Hangman2
4 Replies
5. UNIX for Dummies Questions & Answers
Hi,
I'm a newbie to scripting and am trying to compare two files using awk.
The files are exactly the same dimensions. Where the first file has 0's I would like to create an updated version of the second file which has the corresponding elements set to zero also.
eg:
file1:
12345 1 2 0... (3 Replies)
Discussion started by: kasan0
3 Replies
6. Shell Programming and Scripting
Hi there,
I want to compare 2nd column which are alphanumeric values from each of the 2 files i.e.,lspv_pre.out and lspv_post.out , if found echo some message.
lspv_pre.out
hdisk0 00c39eaa451144dd rootvg active
hdisk1 00c39eaa45223322 ... (3 Replies)
Discussion started by: mbak
3 Replies
7. Shell Programming and Scripting
- I have two files (File 1 and File 2) and the contents of the files are mentioned below.
- I am trying to compare the values of Column1 of File1 with Column1 of File2. If a match is found, print the corresponding value from Column2 of File1 in Column5 of File2.
- I tried to modify and use... (10 Replies)
Discussion started by: Santoshbn
10 Replies
8. Shell Programming and Scripting
Hello, i am new in Bash. Actually i have a directory : /home/resultfiles and inside i have these txt files:
531_1.out.res, 531_2.out.res , 531_3.out.res
532_1.out.res, 532_2.out.res , 532_3.out.res
533_1.out.res, 533_2.out.res, 533_3.out.res
All these txt files has this format :
num_q all... (3 Replies)
Discussion started by: nimpoura
3 Replies
9. Shell Programming and Scripting
Judi # cat File1
judi /export/home 76
judi /usr 83
judi #
judi # cat File2
judi /export/home 79
judi /usr 82
judi #
if COLUMN3 of File2 is greater that COLUMN3 of File1, then print File2's lines
juid /export/home 79
Code tags please (2 Replies)
Discussion started by: judi
2 Replies
10. Shell Programming and Scripting
Hello,
I have output in one file that looks like:
AA 3
BB 1
CC 3
DD 6
EE 2
FF 6 And output in another file that looks like:
1 EE
3 CC
2 AA I basically want to be able to match the counts in each file against the correct corresponding initials (and then obviosuly base a command on... (7 Replies)
Discussion started by: Nik44
7 Replies
LEARN ABOUT OPENDARWIN
comm
COMM(1) BSD General Commands Manual COMM(1)
NAME
comm -- select or reject lines common to two files
SYNOPSIS
comm [-123i] file1 file2
DESCRIPTION
The comm utility reads file1 and file2, which should be sorted lexically, and produces three text columns as output: lines only in file1;
lines only in file2; and lines in both files.
The filename ``-'' means the standard input.
The following options are available:
-1 Suppress printing of column 1.
-2 Suppress printing of column 2.
-3 Suppress printing of column 3.
-i Case insensitive comparison of lines.
Each column will have a number of tab characters prepended to it equal to the number of lower numbered columns that are being printed. For
example, if column number two is being suppressed, lines printed in column number one will not have any tabs preceding them, and lines
printed in column number three will have one.
The comm utility assumes that the files are lexically sorted; all characters participate in line comparisons.
DIAGNOSTICS
The comm utility exits 0 on success, and >0 if an error occurs.
SEE ALSO
cmp(1), diff(1), sort(1), uniq(1)
STANDARDS
The comm utility conforms to IEEE Std 1003.2-1992 (``POSIX.2'').
HISTORY
A comm command appeared in Version 4 AT&T UNIX.
BSD
June 6, 1993 BSD