Difference between two huge .csv files


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Difference between two huge .csv files
# 8  
Old 10-09-2012
paste file1 file2 # Here we join files line by line

awk -F "[,\t]" # here we have comma separated file and after paste it has tab which separates two files.

for(i=1;i<=(NF/2);i++){if($i != $(NF/2+i)) # we have to compare column 1 of first file to column 1 of second file and so on. So i have divided number fields to compare it. 1 to (NF/2)+1 and so on..

if(s){s=s";"$i}else{s=$i}}else{if(s){s=s";,"}else{s=","}}}}{ print s;s=""} # Here just we assign values to the variable s as per your requirement and at the end we print that s.

Hope this helps youSmilie
# 9  
Old 10-09-2012
my file has around 1 lakh rows and 300 columns.

Though the command mentioned above is working fine but is taking more than 2 hrs to completely execute and is time consuming.

Is there any command that can specify only the column values and column number where we have the difference like

If there is difference at column number 3 and column number 7, resultant file will have value as
3,7 (Column Number)
Rahul,23 (Values present in file 1)

Rather than displaying "," for all the columns that are matching between two files. It only display columns where we have the mismatch but with a column number to keep the track.

Thanks
# 10  
Old 10-09-2012
Quote:
Originally Posted by Dimple
but is taking more than 2 hrs to completely execute and is time consuming.
If there is difference at column number 3 and column number 7, resultant file will have value as
3,7 (Column Number)
Rahul,23 (Values present in file 1)
I am not sure how we can minimize time for this...

as per above requested input..

is this what you want..?

Code:
$paste file1 file2 | awk -F "[,\t]" '{for(i=1;i<=(NF/2);i++){
if($i != $(NF/2+i)){if(s){s=s";"$i","$(NF/2+i)"("i")"}else{s=$i","$(NF/2+i)"("i")"}}}}{ print s;s=""}'

 16-12-2011, 14-12-2011(2)
 14-12-2011,18-12-2011(2)
Maik,Malik(1);113,11(3)

# 11  
Old 10-15-2012
Thanks for the Help Smilie

Its woking exactly the way I want to. Only thing is it's taking much time to execute completely. Don't know how to overcome that
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Compare 2 csv files in ksh and o/p the difference in a new csv file

(say) I have 2 csv files - file1.csv & file2.csv as mentioned below: file1.csv ID,version,cost 1000,1,30 2000,2,40 3000,3,50 4000,4,60 file2.csv ID,version,cost 1000,1,30 2000,2,45 3000,4,55 6000,5,70 The... (7 Replies)
Discussion started by: Naresh101
7 Replies

2. Shell Programming and Scripting

Comparing 2 CSV files and sending the difference to a new csv file

(say) I have 2 csv files - file1.csv & file2.csv as mentioned below: file1.csv ID,version,cost 1000,1,30 2000,2,40 3000,3,50 4000,4,60 file2.csv ID,version,cost 1000,1,30 2000,2,45 3000,4,55 6000,5,70 ... (1 Reply)
Discussion started by: Naresh101
1 Replies

3. Shell Programming and Scripting

Compare two CSV files and put the difference in third file with line no,field no and diff value.

I am having two csv files i need to compare these files and the output file should have the information of the differences at the field level. For Example, File 1: A,B,C,D,E,F 1,2,3,4,5,6 File 2: A,C,B,D,E,F 1,2,4,5,5,6 out put file: (12 Replies)
Discussion started by: karingulanagara
12 Replies

4. Shell Programming and Scripting

Comparing 2 difference csv files

Hello, I have about 10 csv files which range from csv1 - csv10. Each csv file has same type/set of tabs and we have around 5-6 tabs for each of the csv file which have slightly different content(data). A sample of CSV1 is shown below: Joins: Data related to Joins, it can be any number of... (2 Replies)
Discussion started by: bobby1015
2 Replies

5. Shell Programming and Scripting

Format & Compare two huge CSV files

I have two csv files having 90K records each & each row has around 50 columns.Lets say the file names are FILE1 and FILE2. I have to compare both the files and generate a new file that has rows from FILE2 if it differs. FILE1 ----- 2001,"John",25,19901130,21211.41,Unix Forum... (3 Replies)
Discussion started by: Sheel
3 Replies

6. Shell Programming and Scripting

Three Difference File Huge Data Comparison Problem.

I got three different file: Part of File 1 ARTPHDFGAA . . Part of File 2 ARTGHHYESA . . Part of File 3 ARTPOLYWEA . . (4 Replies)
Discussion started by: patrick87
4 Replies

7. Shell Programming and Scripting

Counting difference in two CSV files

Hi, I am new to awk and trying to count the difference between the first columns of two CSV files. -------- Sample input (header is:name, id1,id2): file1.csv name, id1,id2 sss,34,56 yyy,3,56 www,56,78 pppp,43,12 file2.csv name,id1,id2 sss,32,56 yyy,12,7 ttt,4,8 uuu,7,9 (0 Replies)
Discussion started by: sam40
0 Replies

8. Programming

Huge difference between _POSIX_OPEN_MAX and sysconf(_SC_OPEN_MAX).

On my Linux system there seems to be a massive difference between the value of _POSIX_OPEN_MAX and what sysconf(_SC_OPEN_MAX) returns and also what I'd expect from the table of examples of configuration limits from Advanced Programming In The UNIX Environment, 2nd Ed. _POSIX_OPEN_MAX: 16... (5 Replies)
Discussion started by: gencon
5 Replies

9. AIX

Huge difference in reported Disk usage between ls,df and du

IBM RS6000 F50 AIX 4.3.2 i am having trouble in calculating the actual size of a set of directories and reconciling the results with the actual Hard Disk space used I have 33GB disk which is showing 7.8GB used, a byte count of the files in the directory/sub-dirs i`m interested in is 48GB,... (4 Replies)
Discussion started by: cooperuf
4 Replies

10. UNIX for Dummies Questions & Answers

Difference between two huge files

Hi, As per my requirement, I need to take difference between two big files(around 6.5 GB) and get the difference to a output file without any line numbers or '<' or '>' in front of each new line. As DIFF command wont work for big files, i tried to use BDIFF instead. I am getting incorrect... (13 Replies)
Discussion started by: pyaranoid
13 Replies
Login or Register to Ask a Question