Why do we use sort before compare ?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Why do we use sort before compare ?
# 1  
Old 11-13-2008
Why do we use sort before compare ?

Dear All.

Im trying to know how exactly the command "compare" works, does it compare line by line or field by field, and the most important thing is that why the files have to be sorted before we compare them?

Thanks in advance
# 2  
Old 11-13-2008
What "compare" command are you referring to? Diff? comm? cmp?

As to why sort before compare, imagine you have two phone books: one from last year and one from this year. Could you simply compare the two books, line by line? Yes. Now imagine someone had taken one of the phonebooks, torn out each page and thrown all the pages around the house. Now how will you compare the two? First you would reorganize it so the torn-up phonebook was in its original order. Then you could compare line by line.

Does that help?
# 3  
Old 11-13-2008
Yes you are right, but what if I rearrange the pages of my phone book in different order, I can still compare both of my phone books. Am I right ?

I will match my first line of my first book with all the pages of the second phone book even if they are not sorted.

ofcourse this doesn't work with diff or comm commands?

I hope that I made my point clearer...
# 4  
Old 11-13-2008
Hammer & Screwdriver

Quote:
I will match my first line of my first book with all the pages of the second phone book even if they are not sorted.
Sound more like a grep command then.

egrep -f "myfile" "mykeyword"
(or something like that)

Where you are checking to see if someone from the first book exists on any page from the second book.
# 5  
Old 11-13-2008
Quote:
Originally Posted by yahyaaa
Yes you are right, but what if I rearrange the pages of my phone book in different order, I can still compare both of my phone books. Am I right ?
If you use the same ordering for both phone books. You could, for instance, sort with reverse (sort -r). Or you could sort by the second character and then the rest of the string (sort -k 1.2,1.3 -k 1,0)

Quote:
I hope that I made my point clearer...
Not really.
# 6  
Old 11-13-2008
Please understand ..... Im just wondering about "why we have to sort before we compare 2 files " .... Im not asking how to sort....

Your example about phone book is not good enough to show the reason behind " sorting before comparing 2 files "

Did you understand now...

also please Mr. joeyg .... read the thread then answer....
# 7  
Old 11-13-2008
The short answer is: it's the only way to find a reasonably small change-set between two files. For the long answer, perhaps you should look up research papers on sorting and searching. Or, take some phone books and try it yourself.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Sort by record column, Compare with conditons and export the result

Hello, I am new to Unix and would like to seek a help, please. I have 2 files (file_1 and file_2), I need to perform the following actions. 1 ) Sort the both file by the column 26-36 (which is Invoice number) what is sort command with the column sort? 2) Compare the file_1.sorted and... (3 Replies)
Discussion started by: Usagi
3 Replies

2. Shell Programming and Scripting

UNIX compare, sort lines and append difference

To make it easier, i gave following example. It is not homework or classwork. Instead, i have a huge csv file dump from tsql with 15 columns and around 300 rows. I was able to extract content that needs to be really converted. Here is the extract: ES FP,B1ES FP,70000,I,SL22,SL22 (70000) ES... (8 Replies)
Discussion started by: nike27
8 Replies

3. Shell Programming and Scripting

UNIX compare, sort lines and append difference

To make it easier, i gave following example. It is not homework or classwork. Instead, i have a huge csv file dump from tsql with 15 columns and around 300 rows. I was able to extract content that needs to be really converted. Here is the extract: ES FP,B1ES FP,70000,I,SL22,SL22 (70000) ES... (0 Replies)
Discussion started by: nike27
0 Replies

4. Shell Programming and Scripting

UNIX compare, sort lines and append difference

Hi, I have a file that needs to be converted: content is: a, b, 4 a ,b, 5 x, y, 1 a, b, 1 x, y, 3 how can i get: a, b, 1|4|5 x,y 1|3 (1 Reply)
Discussion started by: nike27
1 Replies

5. Shell Programming and Scripting

How to sort and compare files in more efficient manner?

Hello All, Iam using below method to sort and compare files. First iam doing sorting and changing the same file and then doing comparing and taking the final result to another file. sort -o temp.txt file1 mv temp.txt file1 sort -o temp.txt file2 mv temp.txt file2 sort -o temp.txt... (6 Replies)
Discussion started by: Vikram_Tanwar12
6 Replies

6. Shell Programming and Scripting

Sort help: How to sort collected 'file list' by date stamp :

Hi Experts, I have a filelist collected from another server , now want to sort the output using date/time stamp filed. - Filed 6, 7,8 are showing the date/time/stamp. Here is the input: #---------------------------------------------------------------------- -rw------- 1 root ... (3 Replies)
Discussion started by: rveri
3 Replies

7. Shell Programming and Scripting

comm command -- Sort and compare two files

Team, I have two files and I am trying to find the lines unique to file1. So i have executed the below command at shell prompt and got the correct results comm -23 <(sort test) <(sort test1) When i run the same command in Bash shell script, i got the correct results. But when i run... (5 Replies)
Discussion started by: forums123456
5 Replies

8. UNIX for Advanced & Expert Users

Script to sort the files and append the extension .sort to the sorted version of the file

Hello all - I am to this forum and fairly new in learning unix and finding some difficulty in preparing a small shell script. I am trying to make script to sort all the files given by user as input (either the exact full name of the file or say the files matching the criteria like all files... (3 Replies)
Discussion started by: pankaj80
3 Replies

9. UNIX for Dummies Questions & Answers

sort and compare files

Hi, I have around 14-15 files and i want to sort all the files and then compare. I dont want to sort them and store in a different file and then compare. I want to compare two files at a time. Is there a way we can do this using a single command? (5 Replies)
Discussion started by: dnat
5 Replies

10. Shell Programming and Scripting

Sort and compare file

If I have 3 kinds of files in directory DATA1: FileA.20060315.dat, FileB.20060315.dat, FileC.20060315.dat FileC.20060316.dat FileA.20060317.dat, FileB.20060317.dat FileA.20060318.dat, FileB.20060318.dat, FileC.20060318.dat If 3 files have the same date then run $cat FileA.20060315.dat... (3 Replies)
Discussion started by: sabercats
3 Replies
Login or Register to Ask a Question