Comparing two files and writing mismatched rows along with mismatched columns. Pointing out the mism
I got a requirement where I need to compare two files wrt to each columns and write the corresponding difference in another file along with some identification showing mismatched columns. Pointing out the mismatched columns is my main problem statement. For example we have files like:
File 1
File 2
The expected output file looks somewhat like.
I want to achieve something like this where i can see the mismatched columns as well along with mismatched rows. I have tried
But this is giving me only the mismatched records or rows. I am not getting any way to point out the mismatched columns as well. Please help me out if its possible to do is using shell script or awk command as i am very new to this. Thanks in advance.
Last edited by piyush pankaj; 05-08-2017 at 02:04 PM..
Reason: improved formatting
But this is giving me only the mismatched records or rows. I am not getting any way to point out the mismatched columns as well. Please help me out if its possible to do is using shell script or awk command as i am very new to this. Thanks in advance.
Before writing any code: notice that you are implicitly working context-oriented and - as a principle - you cannot do this with regexps. You will need a parser! (see here for an in-depth discussion about this). For instance, you break down this:
Into two differences, "delhi/bangalore" and "QA/dev". But without your (outside) knowledge of "delimiters" and "fields", etc. - that is: you involuntarily parsing the input as you read it - there is only one different part. The fact that "|" occurs once in the first variant (from file 1) and once in the second variant (from file 2) means only as much as the "e" in "delhi" occurring in "bangalore" too.
That means, you need to "build into" the script you are about to write this knowledge. You can start by simply reading line for line and splitting it into fields. These fields can then be compared.
Notice that you still need to define how different lines are to be matched. Consider these two file contents:
will these files be "identical" per your definition because the sequence of the lines doesn't matter or will these be considered two differences because it does?
Location: Saint Paul, MN USA / BSD, CentOS, Debian, OS X, Solaris
Posts: 2,288
Thanks Given: 430
Thanked 480 Times in 395 Posts
HI.
Using your sample data, here is a solution using a GNU utility, dwdiff. Basically, it operates on space-separated words, so I modified your sample files to be that instead of | separated:
producing:
Note that the braces enclose the markers + for an addition, - for a deletion.
There are a number of additional options. See man dwdiff for details.
Could you tell me the possibilities of the reason to get the Mismatched free() / delete / delete .
I unable to see the line no in the valgrind report. it displays the function name. with that function name, I am not able to find where exactly the issue is there.I am getting the Mismatched free()... (3 Replies)
Hi all,
I have a file where in it has lot of records in it.
I have written below stuff to find the number of fields as shown below
`awk -F '|' '{print NF-1}' file.txt| head -1`
how do i proceed if in case any record in particular is having more number of delimiters, if it having??? what... (7 Replies)
I have a dataset with 120 columns. I would like to write a script, that takes the average of every two columns, starting from columns 2 and 3, and moving consecutively in frames of 3 columns, all the way until the last column.
The first column in the output file would be the averages of columns... (1 Reply)
I have a table with one column
File1.txt
1
2
3
4
5
6
7
8
9
10
Another table with two columns; This has got a subset of entries from File 1 but not unique because they have differing values in col 2.
File2.txt
1 a
2 d
2 f
6 r
6 e (3 Replies)
Hi,
i've a .csv file with the data as below: -
file1.h, 2.0
file2.c, 3.1
file1.h, 2.5
file3.c, 3.3.3
file1.h, 1.2.3
I want to remove the duplicate file names considering only the one with the highest version number..
output should be
file1.h, 2.5
file2.c, 3.1
file3.c,... (3 Replies)
Help needed...
Can you tell me how to compare the last two couple entries in a file and print their result in new file..:confused:
I have one file
Check1.txt
\abc1 12345
\abc2 12327
\abc1 12345
\abc2 12330
I want to compare the entries in Check1 and write to... (1 Reply)
Dear All,
Need your help to rectify this error.
Recently I have upgraded my Linux server from 32 bit to 64 bit server.
OS details are
Red Hat Enterprise Linux Server release 5.3
Kernel 2.6.18-120.el5 on an x86_64
After upgradation, when i try to compile or catalog any program, it is... (2 Replies)
Hi All,
while compiling on HP UX, i am getting the following error
ld: Can't find library or mismatched ABI for -lstlport_aCC
i am new to unix and HPUX, please suggest solution ASAS
thanks in advance
vindhyalesh (3 Replies)
I started building a program which connects to MySQL and got:
ld: Can't find library or mismatched ABI for -lmysqlclient_r
I tried building my own MySQL and use these, and it worked but then it gave me:
ld: Can't find library or mismatched ABI for -lrt
But librt is a system library (and... (1 Reply)
Hi,
I am having problem of linking .o and I am working with HP -UX gcc version is 3.4.2 . I have complied few cpp files and got .o's. But at the time of linking i am having issue.
it is returning
ld: Can't find library or mismatched ABI for -lstdc++
Fatal error.
I have lib at location ... (0 Replies)