Compare two files word by word


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Compare two files word by word
# 1  
Old 07-24-2012
Error Compare two files word by word

I need to compare two files word by word using unix shell scripting.

Could someone help me? I need the code which will compare the 1st word from file1 with 1st word from file2, 2nd word from file1 with 2nd word from file2 etc..., for all the lines.

Example:

File1:

aaa bbb ccc
dddd efg hij

File2:

aaa bcd edgf
xxx yyy kkh
# 2  
Old 07-24-2012
1. Have you tried diff?
2. What is the expected output?
# 3  
Old 07-24-2012
I have tried diff and sdiff, it is comparing and giving output as whole line.

My expected output is " if there is difference in words. I need the word and line number to be appended in the output file."
# 4  
Old 07-24-2012
Hi.

A stylized display of word-by-word differences can be seen with wdiff:
Code:
#!/usr/bin/env bash

# @(#) s1	Demonstrate word-by-word differences.

pe() { for _i;do printf "%s" "$_i";done; printf "\n"; }
pl() { pe;pe "-----" ;pe "$*"; }
db() { ( printf " db, ";for _i;do printf "%s" "$_i";done;printf "\n" ) >&2 ; }
db() { : ; }
C=$HOME/bin/context && [ -f $C ] && $C wdiff

FILES="data*"
pl " Input files data*:"
head $FILES

pl " Word-by-word differences:"
wdiff $FILES

pl " Word-by-word differences, avoid spanning newlines:"
wdiff -n $FILES

exit 0

producing
Code:
% ./s1

Environment: LC_ALL = C, LANG = C
(Versions displayed with local utility "version")
OS, ker|rel, machine: Linux, 2.6.26-2-amd64, x86_64
Distribution        : Debian GNU/Linux 5.0.8 (lenny) 
bash GNU bash 3.2.39
wdiff GNU wdiff 0.5

-----
 Input files data*:
==> data1 <==
aaa bbb ccc
dddd efg hij

==> data2 <==
aaa bcd edgf
xxx yyy kkh

-----
 Word-by-word differences:
aaa [-bbb ccc
dddd efg hij-] {+bcd edgf
xxx yyy kkh+}

-----
 Word-by-word differences, avoid spanning newlines:
aaa [-bbb ccc-]
[-dddd efg hij-] {+bcd edgf+}
{+xxx yyy kkh+}

See man wdiff for details. The utility colordiff might be of use if displaying on a terminal.

Best wishes ... cheers, drl
This User Gave Thanks to drl For This Post:
# 5  
Old 07-24-2012
Thanks.... drl.
In our environment wdiff is not working. could you please try to give the code in korn shell?
# 6  
Old 07-24-2012
Hi.

1) What operating system and version are you using? What version of the Korn shell are you using?

2) Please post the output you desire for the sample data above.

3) Is this homework?

cheers, drl
# 7  
Old 07-24-2012
Quote:
Originally Posted by rsmohankumar
In our environment wdiff is not working.
Unless the computer actually printed "not working" on the screen, that's not a helpful answer.

In what way is it not working?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

How to search for a word in column header that fully matches the word not partially in awk?

I have a multicolumn text file with header in the first row like this The headers are stored in an array called . which contains I want to search for each elements of this array from that multicolumn text file. And I am using this awk approach for ii in ${hdr} do gawk -vcol="$ii" -F... (1 Reply)
Discussion started by: Atta
1 Replies

2. UNIX for Beginners Questions & Answers

UNIX script to check word count of each word in file

I am trying to figure out to find word count of each word from my file sample file hi how are you hi are you ok sample out put hi 1 how 1 are 1 you 1 hi 1 are 1 you 1 ok 1 wc -l filename is not helping , i think we will have to split the lines and count and then print and also... (4 Replies)
Discussion started by: mirwasim
4 Replies

3. Shell Programming and Scripting

Find a word and increment the number in the word & save into new files

Hi All, I am looking for a perl/awk/sed command to auto-increment the numbers line in file, P1.tcl: run_build_model sparc_ifu_dec run_drc set_faults -model path_delay -atpg_effectiveness -fault_coverage add_delay_paths P1 set_atpg -abort_limit 1000 run_atpg -ndetects 1000 I would like... (6 Replies)
Discussion started by: jypark22
6 Replies

4. Shell Programming and Scripting

Search for a specific word and print only the word from the input file

Hi, I have a sample file as shown below, I am looking for sed or any command which prints the complete word only from the input file. Ex: $ cat "sample.log" I am searching for a word which is present in this file We can do a pattern search using grep but I need to cut only the word which... (1 Reply)
Discussion started by: mohan_kumarcs
1 Replies

5. UNIX for Dummies Questions & Answers

Find EXACT word in files, just the word: no prefix, no suffix, no 'similar', just the word

I have a file that has the words I want to find in other files (but lets say I just want to find my words in a single file). Those words are IDs, so if my word is ZZZ4, outputs like aaZZZ4, ZZZ4bb, aaZZZ4bb, ZZ4, ZZZ, ZyZ4, ZZZ4.8 (or anything like that) WON'T BE USEFUL. I need the whole word... (6 Replies)
Discussion started by: chicchan
6 Replies

6. Shell Programming and Scripting

Find and replace a word in all the files (that contain the word) under a directory

Hi Everyone, I am looking for a simple way for replacing all the files under a directory that use the server "xsgd1234dap" with "xsdr3423pap". For Example: In the Directory, $pwd /home/nick $ grep -l "xsgd1234dap" *.sh | wc -l 119 I have "119" files that are still using... (5 Replies)
Discussion started by: filter
5 Replies

7. Programming

Python: Compare 2 word lists

Hi. I am trying to write a Python programme that compares two different text files which both contain a list of words. Each word has its own line worda wordb wordc I want to compare textfile 2 with textfile 1, and if there's a word in textfile 2 that is NOT in textfile 1, I want to... (6 Replies)
Discussion started by: Bloomy
6 Replies

8. UNIX for Dummies Questions & Answers

Script to search for a particular word in files and print the word and path name

Hi, i am new to unix shell scripting and i need a script which would search for a particular word in all the files present in a directory. The output should have the word and file path name. For example: "word" "path name". Thanks for the reply in adv,:) (3 Replies)
Discussion started by: virtual_45
3 Replies

9. Shell Programming and Scripting

To read data word by word from given file & storing in variables

File having data in following format : file name : file.txt -------------------- 111111;name1 222222;name2 333333;name3 I want to read this file so that I can split these into two paramaters i.e. 111111 & name1 into two different variables(say value1 & value2). i.e val1=11111 &... (2 Replies)
Discussion started by: sjoshi98
2 Replies

10. Shell Programming and Scripting

Can a shell script pull the first word (or nth word) off each line of a text file?

Greetings. I am struggling with a shell script to make my life simpler, with a number of practical ways in which it could be used. I want to take a standard text file, and pull the 'n'th word from each line such as the first word from a text file. I'm struggling to see how each line can be... (5 Replies)
Discussion started by: tricky
5 Replies
Login or Register to Ask a Question