Comparing two files


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Comparing two files
# 1  
Old 01-22-2014
Comparing two files

Hi Team,

First filename is a1.txt

Code:
cat a1.txt
1
2
3
4
5
6
7
8
9
10

Code:
cat a2.txt
1
3
4
6
8
2
5
7
9

I should add prefix to line in two files.
Code:
sed -e 's/^/a1:/' a1.txt

output
Code:
a1:1
a1:2
a1:3
a1:4
a1:5
a1:6
a1:7
a1:8
a1:9
a1:10

Code:
sed -e 's/^/a2:/' a2.txt
a2:1
a2:3
a2:4
a2:6
a2:8
a2:2
a2:5
a2:7
a2:9

I should compare the data after sorting two files. If data is not there in one files. It should say that a2:10 is not there. In this way I need to get the output. what command need to be used.

Last edited by Franklin52; 01-22-2014 at 08:53 AM.. Reason: Please use code tags
# 2  
Old 01-22-2014
Codetags please

Code:
$ cat file1
a1:1
a1:2
a1:3
a1:4
a1:5
a1:6
a1:7
a1:8
a1:9
a1:10

Code:
$ cat file2
a2:1
a2:3
a2:4
a2:6
a2:8
a2:2
a2:5
a2:7
a2:9

Code:
$ awk -F":" 'FNR==NR{A[$2];next}!($2 in A){print $0, "is not there"}' file2 file1
a1:10 is not there

This User Gave Thanks to Akshay Hegde For This Post:
# 3  
Old 01-22-2014
Thanks Akshay.

$ awk -F":" 'FNR==NR{A[$2];next}!($2 in A){print $0, "is not there"}' file2 file1
a1:10 is not there

Pls explain the code.

Last edited by indira_s; 01-22-2014 at 07:10 AM..
# 4  
Old 01-22-2014
Hello Indira_s,

one more approach for same.

Code:
 
while read line
do
value=`echo $line | awk -F":" '{print $2}'` ### taking the second column for a1 file ###
check_value_other_file=`cat a2_2 | grep "$value"` ### checking either that content is present in file a2 or not ####
 
### checking the value for check_value_other_file if it is empty which means a2 doesn't have value present in a1 so then printing that value ###
if [[ -z ${check_value_other_file} ]]
then
echo "value "$line" is NOT present at a1_1"
fi
done < a1_1

Output will be as follows.

Code:
value a1:10 is NOT present at a2_2


Thanks,
R. Singh

Last edited by RavinderSingh13; 01-22-2014 at 07:21 AM.. Reason: explaination for code
This User Gave Thanks to RavinderSingh13 For This Post:
# 5  
Old 01-22-2014
Quote:
Originally Posted by indira_s
Thanks Akshay.

$ awk -F":" 'FNR==NR{A[$2];next}!($2 in A){print $0, "is not there"}' file2 file1
a1:10 is not there

Pls explain the code.
Code:
$ awk -F":" 'FNR==NR{A[$2];next}!($2 in A){print $0, "is not there"}' file2 file1

-F":" --> Field separator is set to :

FNR == NR

FNR variable--> Current line number in the current file

NR variable -->The total number of lines seen so far

The condition FNR == NR can only be true while awk is reading the first file of argument

A[$2]--> Sets the Array A indexed at field2$2 of file2

next -->Stops the processing of the current input record and proceeds with the next input record

!($2 in A) --> if field2 $2 of file1 is not found in array A

{print $0, "is not there"} --> print line of file1 $0 , default output field separator (space) and string"is not there"
This User Gave Thanks to Akshay Hegde For This Post:
# 6  
Old 01-22-2014
see:
man comm
man diff
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Comparing two files and list the difference with common first line content of both files

I have two file as given below which shows the ACL permissions of each file. I need to compare the source file with target file and list down the difference as specified below in required output. Can someone help me on this ? Source File ************* # file: /local/test_1 # owner: own #... (4 Replies)
Discussion started by: sarathy_a35
4 Replies

2. Shell Programming and Scripting

Comparing files in a directory against an array of files

I hope I can explain this correctly. I am using Bash-4.2 for my shell. I have a group of file names held in an array. I want to compare the names in this array against the names of files currently present in a directory. If the file does not exist in the directory, that is not a problem.... (5 Replies)
Discussion started by: BudMan
5 Replies

3. Shell Programming and Scripting

Comparing the files

Hi Friends, I have file1.txt file2.txt I tried using the diff and comm but not getting the expected output.. I want where exactly the miss match occurs. probably the field. Sourcevalue|Targetvalue|Linenumber|field 29123975|2923975|3|1 Please help. (6 Replies)
Discussion started by: i150371485
6 Replies

4. Shell Programming and Scripting

Help with comparing two files

Hi all I have to compare two file this time one is P11223 x1124 x1145 t5678 e3456 z2345 another file P11223 x s (2 Replies)
Discussion started by: manigrover
2 Replies

5. UNIX for Advanced & Expert Users

How to find duplicates contents in a files by comparing other files?

Hi Guys , we have one directory ...in that directory all files will be set on each day.. files must have header ,contents ,footer.. i wants to compare the header,contents,footer ..if its same means display an error message as 'files contents same' (7 Replies)
Discussion started by: Venkatesh1
7 Replies

6. Shell Programming and Scripting

Comparing the matches in two files using awk when both files have their own field separators

I've two files with data like below: file1.txt: AAA,Apples,123 BBB,Bananas,124 CCC,Carrot,125 file2.txt: Store1|AAA|123|11 Store2|BBB|124|23 Store3|CCC|125|57 Store4|DDD|126|38 So,the field separator in file1.txt is a comma and in file2.txt,it is | Now,the output should be... (2 Replies)
Discussion started by: asyed
2 Replies

7. Shell Programming and Scripting

Need help comparing two files and deleting some things in those files!

So I have two files: File1 pictures.txt 1.1 1.3 dance.txt 1.2 1.4 treehouse.txt 1.3 1.5 File2 pictures.txt 1.5 ref2313 1.4 ref2345 1.3 ref5432 1.2 ref4244 dance.txt 1.6 ref2342 1.5 ref2352 1.4 ref0695 1.3 ref5738 1.2 ref4948 1.1 treehouse.txt 1.6 ref8573 1.5 ref3284 1.4 ref5838... (24 Replies)
Discussion started by: linuxkid
24 Replies

8. Shell Programming and Scripting

Need Help Comparing two Files

I really need help on creating a script that does the following: I have one file (File 1) with lines in the following format: Name.maf score1 score2 I have a second file (File 2) with lines in the following format: label start end Name What I need to do is compare File 1 and... (1 Reply)
Discussion started by: awknerd
1 Replies

9. Shell Programming and Scripting

Comparing files

I have a file called X, which contains the following: 10 100 200 300 I then have file Y, which containts the following: 10 200 500 800 I want to write a script that will compare the contents of Y with the contents of X and ONLY return values in Y that does not exist in X (output... (5 Replies)
Discussion started by: soliberus
5 Replies

10. UNIX for Advanced & Expert Users

comparing shadow files with real files

Hi I need to compare shadow file sizes with their real file counterparts. If the shadow file size differs form the realfile size then it must send a mail. My problem is that our system has over 1600 shadowfiles in different directories, with different names. the only consistancy is the .sh file... (4 Replies)
Discussion started by: terrym
4 Replies
Login or Register to Ask a Question