Help with sort word and general numeric sort at the same time

Input file:

100%ABC2 3.44E-12 USA
A2M%H02579 0E0 UK
100%ABC2 5.34E-8 UK
100%ABC2 3.25E-12 USA
A2M%H02579 5E-45 UK

Output file:

100%ABC2 3.44E-12 USA
   100%ABC2 3.25E-12 USA
100%ABC2 5.34E-8 UK
A2M%H02579 0E0 UK
A2M%H02579 5E-45 UK

Code try:

sort -k1,1 -g -k2 -r input.txt
100%ABC2 5.34E-8 UK
100%ABC2 3.44E-12 USA
    100%ABC2 3.25E-12 USA
 A2M%H02579 5E-45 UK
A2M%H02579 0E0 UK
 

I hope that able to sort column 1 based on A-Z and column 2 based on smallest to largest.

Thanks for any advice.

$ sort -k1,1 -g -k2n -r  file
100%ABC2 3.25E-12 USA
100%ABC2 3.44E-12 USA
100%ABC2 5.34E-8 UK
A2M%H02579 0E0 UK
A2M%H02579 5E-45 UK

Hi anbu23,

I did try your code.
It worked for my test data set.
But it seems like no work if my data set is huge?

Do you have any better idea?
Thanks.

---------- Post updated at 01:24 AM ---------- Previous update was at 01:12 AM ----------

Hi anbu23,

I plan to sort primarily by field 3 and [LEFT]secondarily by field 2 which is general numeric value.
If small data set, your command looks fine.
But it can't generate desired output if the data set is larger :frowning:

[/LEFT]