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


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Need help comparing two files and deleting some things in those files!
# 22  
Old 07-27-2010
Quote:
Originally Posted by rdcwayx
The output follow your rules:

1. I can see the output between 1.9 and 1.12

Code:
treehouse.txt 1.9 ref4738 1.8 ref4573 1.7 ref3232 1.12 ref8573

2. arrange the output so it retains its order of highest version number to lowest.

I don't see any problem. All from highest to lowest.

Code:
treehouse.txt 1.9 ref4738 1.8 ref4573 1.7 ref3232 1.12 ref8573
pictures.txt 1.3 ref5432 1.2 ref4244 1.1
dance.txt 1.4 ref0695 1.3 ref5738 1.2 ref4948

mmm ok maybe I didn't explain it clearly in post18, so i'll try again. When I version the files, I HAVE to have a "1." at the start of it, so version 1 becomes version 1.1, version 2 becomes 1.2, version 15 would become 1.15 and so on. So when the file says for example:
Code:
treehouse.txt 1.9 1.12

what i need is output as:
Code:
treehouse.txt 1.12 ref8573 1.11 ref3284 1.10 ref5838 1.9 ref4738

so basically in terms of the version numbers (not the decimals), 1.7 say, would be a lower VERSION than 1.10, which is NOT the same as 1.1. This is why I said maybe the best thing would be if we could remove the "1." at the start and then compare the numbers, and then before we output them then add the "1." back on. Apologies if I did not make this clear in post#18, its not my intention to be deliberately misleading. Many thanks
# 23  
Old 07-27-2010
Now I understood, the number is "version number"

Code:
awk 'NR==FNR{a[$1]=$2;b[$1]=$3;next}
     {printf $1
      for(i=2;i<=NF;i+=2)
         {if($i==b[$1])f=1
          if(f)printf  FS $i FS $(i+1)
          if($i==a[$1])f=0};printf RS
     }' File1 File2

pictures.txt 1.3 ref5432 1.2 ref4244 1.1
dance.txt 1.4 ref0695 1.3 ref5738 1.2 ref4948
treehouse.txt 1.12 ref8573 1.11 ref3284 1.10 ref5838 1.9 ref4738


Last edited by rdcwayx; 07-27-2010 at 10:24 PM..
# 24  
Old 07-27-2010
don't know why it pastes two times. Clean this one.
# 25  
Old 07-28-2010
Quote:
Originally Posted by rdcwayx
Now I understood, the number is "version number"

Code:
awk 'NR==FNR{a[$1]=$2;b[$1]=$3;next}
     {printf $1
      for(i=2;i<=NF;i+=2)
         {if($i==b[$1])f=1
          if(f)printf  FS $i FS $(i+1)
          if($i==a[$1])f=0};printf RS
     }' File1 File2
 
pictures.txt 1.3 ref5432 1.2 ref4244 1.1
dance.txt 1.4 ref0695 1.3 ref5738 1.2 ref4948
treehouse.txt 1.12 ref8573 1.11 ref3284 1.10 ref5838 1.9 ref4738

thanks for the reply, unfortunately although it ran and everything, it has a problem with files if their version number is 1.10, as it see's this as the same as 1.1. So,
File1
Code:
treehouse.txt 1.2 1.10
moon.txt 1.2 1.12

File2
Code:
treehouse.txt 1.10 ref111 1.9 ref222 1.8 ref333 1.7 ref444 1.6 ref555 1.5 ref666 1.4 ref777 1.3 ref888 1.2 ref999 1.1
moon.txt 1.12 refzzz 1.11 ref000 1.10 ref111 1.9 ref222 1.8 ref333 1.7 ref444 1.6 ref555 1.5 ref666 1.4 ref777 1.3 ref888 1.2 ref999 1.1

I get the output
Code:
treehouse.txt 1.10 ref111 1.9 ref222 1.8 ref333 1.7 ref444 1.6 ref555 1.5 ref666 1.4 ref777 1.3 ref888 1.2 ref999 1.1
moon.txt 1.12 refzzz 1.11 ref000 1.10 ref111

:-S
Any idea's?
(also not too sure by what you meant when you said it pastes twice)
Login or Register to Ask a Question

Previous Thread | Next Thread

9 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

Trying to make a bash script that goes through directory files and changes things

I'm trying to write a script in a directory that goes through the column the user specifies of 4 files that are inside the directory and calculates the min and the max values. This means that if the user specifies column 5, the script will go through column 5 of all 4 files and all that should give... (2 Replies)
Discussion started by: Eric1
2 Replies

3. Shell Programming and Scripting

Bash script deleting my files, and editing files in subdirectories question

#!/bin/bash # name=$1 type=$2 number=1 for file in ./** do if then filenumber=00$number elif then filenumber=0$number fi tempname="$name""$filenumber"."$type" if (4 Replies)
Discussion started by: TheGreatGizmo
4 Replies

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

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

AIX system.... deleting files in remote directory after retrieving files

Hi Friends, I am new to this , I am working on AIX system and my scenario is to retrive the files from remote system and remove the files from the remote system after retreving files. I can able to retrieve the files but Can't remove files in remote system. Please check my code and help me out... (3 Replies)
Discussion started by: vinayparakala
3 Replies

8. UNIX for Dummies Questions & Answers

Deleting the files comparing the creation dates

Hi Gurus, I am new to unix. I have a requirement where i need to delete some files in a folder twice a week. Suppose i have a folder AAA. In that i have files from 01/04/2008 to 10/04/2008 I want to remove all the files except last 3 days i.e., 10,9th & 8th. Every week twice we want to... (2 Replies)
Discussion started by: pssandeep
2 Replies

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