Comparing items in 2 files


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Comparing items in 2 files
# 8  
Old 01-19-2006
I would advice you to read something about ksh and csh, they are the shell interpreters in unix... and you are typing your commands in csh..

to solve your problem for now, create a file with the following two lines :

#!/usr/bin/ksh

egrep "$(<file2)" file1


and save it with any name you wish... give it executable permissions and run it.

try man ksh and man csh for more info...
# 9  
Old 01-20-2006
Hi,

I tried what you have suggested and get the following:
% cat file1
item4
item5
% cat file2
item2
item3
item5
item6
% testscript
item5
% cat file1
item4
item5

but the contents in file1 is still the same.

I need the script to change the contents in file1 but it seems like file1 was not modified at all after I run the script.

Last edited by ReV; 01-20-2006 at 05:10 AM..
# 10  
Old 01-20-2006
now what you need to do is redirect the output of ur script to a temporary file and then move this file to your file1.

#!/usr/bin/ksh

egrep "$(<file2)" file1 > File3

mv -f file3 file1


use this .
# 11  
Old 01-20-2006
You can also use the grep command :

grep -f file2 file1 > fil3

If file2 lines are not Regular Expressions :

grep -F -f file2 file1 > file3.


If file1 contains :

item2
item5
item5-b

The result will be (with grep and egrep) :

item5
item5-b


If your two files are sorted, you can use the join command :

join file1 file2 > file3


Jean-Pierre.
# 12  
Old 01-20-2006
Hi all,

Thanks!. I used:
#!/usr/bin/ksh
egrep "$(<file2)" file1 > File3
mv -f file3 file1

and it works. However, when I tried to put into file1 and file2 irrrgular names, like "filenotinfilelist1234.567.89" or "filenotinfilelist11.11.11", then these files still remain in file1.

I tried to use the command from Jean-Pierre but I got this error message:
% testscript
grep: illegal option -- F
Usage: grep -hblcnsviw pattern file . . .
# 13  
Old 01-20-2006
On my AIX Box, grep -F works like fgrep, so try

fgrep -f file2 file1 > file3
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. UNIX for Beginners Questions & Answers

Issue with search and replacing multiple items in multiple files

Im having an issue when trying to replace the first column with a new set of values in multiple files. The results from the following code only replaces the files with the last set of values in val.txt. I want to replace all the files with all the values. for date in {1..31} do for val in... (1 Reply)
Discussion started by: ncwxpanther
1 Replies

3. 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

4. Shell Programming and Scripting

Compare multiple files, and extract items that are common to ALL files only

I have this code awk 'NR==FNR{a=$1;next} a' file1 file2 which does what I need it to do, but for only two files. I want to make it so that I can have multiple files (for example 30) and the code will return only the items that are in every single one of those files and ignore the ones... (7 Replies)
Discussion started by: castrojc
7 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

awk between items including items

OS=HP-UX ksh The following works, except I want to include the <start> and <end> in the output. awk -F '<start>' 'BEGIN{RS="<end>"; OFS="\n"; ORS=""} {print $2} somefile.log' The following work in bash but not in ksh sed -n '/^<start>/,/^<end>/{/LABEL$/!p}' somefile.log (4 Replies)
Discussion started by: Ikon
4 Replies

9. Shell Programming and Scripting

Comparing two files

Hi I have two files X and Y. I have to compare two files and dispaly the lines which are present in X and not in Y along with the line numbers ex X Y a a b b c g e output Z 3. c Thanks (2 Replies)
Discussion started by: superstar003
2 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