Comparing files


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Comparing files
# 1  
Old 07-12-2011
Comparing files

Hi All,

I am working on a test automation system in our Firm which requires some shell script for Cron job.Below i have mention what i am looking for in pseuso code,if someone can give me basic idea then i will try to build on frm their...

I have a directory namely /sapp/limit


1) List down all files in this directory and store them in array.All files in this directory always ends with .limit.dis

sample filename :

Code:
FAB1_600015_CONRAD.A0_7XYZ12345.000_LT-SWET.01_LTPA25L_20110622-161429_07_WFR12345_20110622-161429_20110712-125228.limit.dis

2)Now i want to remove the .limit.dis from these files and add .data.dis at the end.

so the filename now looks like this,

Code:
FAB1_600015_CONRAD.A0_7XYZ12345.000_LT-SWET.01_LTPA25L_20110622-161429_07_WFR12345_20110622-161429_20110712-125228.data.dis

3)Now i want to see if this file exist in /sapp/data directory....if yes then i need to ftp over these two files over to another server.

4)if no similar file exist in /sapp/data directory then move to next file in /sapp/limit.

5) Before i ftp the files,i also want to make sure that the files have been written complete and its ready to copy over to another server.

I was able to use `basename` method to delete .limit.dis from the end....but i dont know how to concat .data.dis to these files and compare with files in another directory..

Any help will be appreciated...Thanks
# 2  
Old 07-12-2011
Code:
cd  /sapp/limit
ls *.limit.dis |while read file
do
  new=${file%.limit.dis}.data.dis
  if [ -f "/sapp/data/$new" ]; then
     echo " Start to Ftp file $new" 
     # Make sure the file has been written completely.
     # ftp the file to another server
  fi
done


Last edited by rdcwayx; 07-12-2011 at 10:34 PM..
# 3  
Old 07-12-2011
Hi Buddy,

Thanks for the solution...

But as per ur solution it list out all files and converts to .data.dis and checks for existence in /sapp/data rite ?

But it will be better if i do this one file at a time by storing the .limit files in array and then compare array[i] in /sapp/data directory...i want this solution because when i ftp over both .limit and .data file to another server i have another program running there to process these files......but it need both .limit and .data file to start process.

So rather than waiting for whole files to be copied over,i can do it one by one....dose that make sense?
# 4  
Old 07-13-2011
I think my code is to do the job one by one.

find the .limit.dis, then confirm it's partner .data.dis existed. then ftp it.

Is this your homework and have to do by array?
# 5  
Old 07-13-2011
Hi Buddy,

I have tried to re modify your code as below

Code:
 
#!/bin/sh
cd /sapp/limit
array=(`ls`)
len=${#array[*]}
echo "The array has $len members"
i=0
while [ $i -lt $len ];
do
   new=${array[i]%.limit.dis}.data.dis
   echo ${new}
   if [ -f /sapp/data/$new ] ; then
   echo "start ftp the files ${array[i]} and ${new}"
  # fstat "${new}" | wc -l
   fi
  let i++
done

I have done to get the file names in array one by one.....But now i need to look for some codition before i FTP over the files to another server.

As these Data and limit files are generated by another Java application,i want to make sure the file is not open when i ftp over them...i mean to say i want to make sure that these files are complete.

I tried to use fstat command but it dosen't work and i also thought to compare file size with sleep interval......is checking the file size the only mechanism to achieve this?

Its not my homework....am just new to Scripting....if u give me the logic i can play around.

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