merge two files in ascending order


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users merge two files in ascending order
# 1  
Old 09-03-2008
merge two files in ascending order

Hello Friends,

I want to merge two files in ascending order on the first field. And if the first field matches sort on 3rd field i.e, TXADDR should come ahead of RXADDR .

file1
Code:
      9 : TXADDR  : 00000000
     65 : TXDATA  0000000000000011
     83 : TXDATA  0000000000000012
    453 : TXADDR  : 00000000
    509 : TXDATA  0000000000000001
    527 : TXDATA  0000000000000002
    879 : TXADDR  : 00000020
     934 : TXDATA  0000000000000011
     953 : TXDATA  0000000000000012
     971 : TXDATA  0000000000000013

file2
Code:
        9 : RXADDR  : 00000001
      65 : RXDATA  0000000000000011
      83 : RXDATA  0000000000000012
     102 : RXDATA  0000000000000013
     453 : RXADDR  : 00000000
     509 : RXDATA  0000000000000001
     527 : RXDATA  0000000000000002
     546 : RXDATA  0000000000000003
     879 : RXADDR  : 00000020
     934 : RXDATA  0000000000000011
     953 : RXDATA  0000000000000012
     971 : RXDATA  0000000000000013
     990 : RXDATA  0000000000000014

WIth the below command I able to sort and merge on the first field.
Code:
sort -n file1 file2 > file3

In file3 I expect when the first column matches it should give priority to the 3rd column i.e RXADDR & RXDATA.
So in my case the output should be
Code:
      9 : TXADDR  : 00000000
      9 : RXADDR  : 00000001
    65 : TXDATA  0000000000000011
    65 : RXDATA  0000000000000011

I dont know how sort with multiple key with sort pls suggest a option for that. or any other soln.

Regards,
user_prady

Last edited by user_prady; 09-04-2008 at 01:17 AM..
# 2  
Old 09-04-2008
The following will sort first by the first key, numerically, and then by the second key alphabetically:

Code:
sort -k1,1n -k2,2 file1 file2 > file3

# 3  
Old 09-04-2008
use this code:
sort -n -k 1 my1 my2
# 4  
Old 09-04-2008
Actually, you'll want -k3,3 not -k2,2... but you probably figured that out yourself!
# 5  
Old 09-04-2008
Quote:
Originally Posted by RahulJoshi
use this code:
sort -n -k 1 my1 my2
Thanks for your kind replies , but both the command outputs the same as
the command
Code:
sort -n file1 file2 > file3

I want to reverse the third column so that TXADDR/TXDATA comes before RXADDR/RXDATA when the first column matches . The above commands gives me the reverse..
# 6  
Old 09-04-2008
Quote:
Originally Posted by Annihilannic
The following will sort first by the first key, numerically, and then by the second key alphabetically:

Code:
sort -k1,1n -k2,2 file1 file2 > file3

Thanks for your reply But I want to sort reverse for the second key ..
# 7  
Old 09-04-2008
Code :

Code:
sort -t":" -k1,1n -k2,2 file1 file2

Output:
Quote:
9 : RXADDR : 00000001
9 : TXADDR : 00000000
65 : RXDATA 0000000000000011
65 : TXDATA 0000000000000011
83 : RXDATA 0000000000000012
83 : TXDATA 0000000000000012
102 : RXDATA 0000000000000013
453 : RXADDR : 00000000
453 : TXADDR : 00000000
509 : RXDATA 0000000000000001
509 : TXDATA 0000000000000001
527 : RXDATA 0000000000000002
527 : TXDATA 0000000000000002
546 : RXDATA 0000000000000003
879 : RXADDR : 00000020
879 : TXADDR : 00000020
934 : RXDATA 0000000000000011
934 : TXDATA 0000000000000011
953 : RXDATA 0000000000000012
953 : TXDATA 0000000000000012
971 : RXDATA 0000000000000013
971 : TXDATA 0000000000000013
990 : RXDATA 0000000000000014
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to list files in ascending order?

Hi, I need to list files in ascending order. Filenames are in format inpTDT_1, inpTDT_2, inpTDT_3 and so on. I want to list them in the ascending order based on the digit after underscore and send the output to a file. Please help (5 Replies)
Discussion started by: Neelkanth
5 Replies

2. Shell Programming and Scripting

Unable to list files in ascending order

Hi ! I am just trying to list my files in ascending order so that in some other software, I just want merge with some modification, when I list its coming like this new-10.txt new-11.txt new-12.txt new-13.txt new-14.txt new-15.txt new-16.txt new-17.txt new-18.txt new-19.txt... (2 Replies)
Discussion started by: nex_asp
2 Replies

3. UNIX for Dummies Questions & Answers

Strings in ascending order

Hi, I have a sequence which has 30000 strings which looks like this >string2991 234445 >string224 470561 >string121 675386 >string4098 177229 >string8049 255838 >string8 672382 >string1115 578415 I want it to be arranged in ascending order >string8 672382 >string121... (5 Replies)
Discussion started by: siya@
5 Replies

4. UNIX for Advanced & Expert Users

How to takes the missing files in ascending order

Hi am using unix aix we have a lots of files which comes from server and fetch in one directory. the files will be in the format as File name as : ------------- pprr0103 (01 as date and 03 as month) pprr0203 pprr0603 ... ... pprr3103 pprr0304 Outputs:- Missing files as... (2 Replies)
Discussion started by: Venkatesh1
2 Replies

5. Shell Programming and Scripting

Merge all the files in a folder in FIFO order

Hi All, I have to merge the data in all the files in a folder such that the data of the earliest file come first then the second file's data and so on. Please help. Thanks. (22 Replies)
Discussion started by: unankix
22 Replies

6. Shell Programming and Scripting

Help printing files in ascending order of the fi le size (in bytes)

Hey guys I'm new to unix and need help printing files in a specified directory according to size in bytes as well as files with equal bites in alphabetical order the part i have done so far prints out all files in the directory as well as setting a time limit in which they have been modified ... (2 Replies)
Discussion started by: wessy
2 Replies

7. Shell Programming and Scripting

Ascending order

How can I check if array is in ascending order? ---------- Post updated at 01:53 PM ---------- Previous update was at 01:25 PM ---------- Done it now (0 Replies)
Discussion started by: kristinu
0 Replies

8. Shell Programming and Scripting

Ascending order within text

I appreciate all the help that I've already received but am running into one problem. I can find how to add something before a file with ascending numbers but not like this. I basically have a file that looks like this: 100 101 102 103 104 I need to add the following before each line with... (5 Replies)
Discussion started by: kerpm
5 Replies

9. UNIX for Advanced & Expert Users

Display modified files in ascending order

Hello, i want to display modified files in descending order. "ls -t" will display modified files in descending order. pls help. (1 Reply)
Discussion started by: balareddy
1 Replies

10. UNIX for Dummies Questions & Answers

Sort / ascending order

What's the command to sort a file in ascending order and redirect the output to another file? Thanks!!!!!! (1 Reply)
Discussion started by: gyik
1 Replies
Login or Register to Ask a Question