Need another sort criterium for 'ls'


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Need another sort criterium for 'ls'
# 1  
Old 11-02-2015
Need another sort criterium for 'ls'

Hello all,

when I do a 'ls -l' in a certain Directory, I will get the following Output:

Code:
-rw-r--r--    1 area10  berol            237 Oct 28 16:12 copy_cubs291_84.txt
-rw-r--r--    1 area10  berol            238 Oct 28 17:28 copy_cubs291_85.txt
-rw-r--r--    1 area10  berol            210 Oct 28 12:25 exec_cubs291_71.txt
-rw-r--r--    1 area10  berol            210 Oct 28 12:30 exec_cubs291_72.txt
-rw-r--r--    1 area10  berol            210 Oct 28 12:30 exec_aubs291_71.txt

What I would like to have is an Output of filenames in the following order:

Code:
exec_aubs291_71.txt
exec_cubs291_71.txt
exec_cubs291_72.txt
exec_aubs291_71.txt
copy_cubs291_84.txt
copy_cubs291_85.txt

As you can see, I Need the sort for the element between the first word and the prefix.

How should I do this?

CU,
API
# 2  
Old 11-02-2015
Hello API,

Could you please try following and let me know if this helps, I have checked this on bash.
Code:
ls *.txt | sort -t_ -k2,2

Output for above command was as follows.
Code:
exec_aabs291_71.txt
exec_aubs291_71.txt
copy_cubs291_84.txt
copy_cubs291_85.txt
exec_cubs291_71.txt
exec_cubs291_72.txt

Where I had created files exec_cubs291_72.txt, exec_cubs291_71.txt, exec_aubs291_71.txt, copy_cubs291_85.txt, copy_cubs291_84.txt, exec_aabs291_71.txt.

Thanks,
R. Singh
This User Gave Thanks to RavinderSingh13 For This Post:
# 3  
Old 11-02-2015
Thanks for you help.

But if I do it with your stated command, I will get the following Output:

Code:
-rw-r--r--    1 area10  berol            0 Nov  2 15:09 exec_aabs291_71.txt
-rw-r--r--    1 area10  berol            0 Nov  2 15:09 exec_aubs291_71.txt
-rw-r--r--    1 area10  berol            0 Nov  2 15:09 copy_cubs291_84.txt
-rw-r--r--    1 area10  berol            0 Nov  2 15:09 copy_cubs291_85.txt
-rw-r--r--    1 area10  berol            0 Nov  2 15:09 exec_cubs291_71.txt
-rw-r--r--    1 area10  berol            0 Nov  2 15:09 exec_cubs291_72.txt

For the sort criterum I will Need also the number after the ".ubs291_nn".
# 4  
Old 11-02-2015
Unfortunately, your request is not clear. What exactly is "the element between the first word and the prefix"? Your two samples are somewhat contradictory as well, so your correct request can't be deduced from them either. Should you be after the two digit number ("nn"), I can't see that in your samples.
These 2 Users Gave Thanks to RudiC For This Post:
# 5  
Old 11-02-2015
Ok. Sorry for my misleading Statements. I tried to explain it in words, but it seems not the best way to do this.

Once more.

I have These files within my Directory:
Code:
exec_aabs291_71.txt
exec_aubs291_71.txt
copy_cubs291_84.txt
copy_cubs291_85.txt
exec_cubs291_71.txt
exec_cubs291_72.txt

I would like to have an 'ls' where I will get the following order of Output:

Code:
exec_aabs291_71.txt
exec_aubs291_71.txt
exec_cubs291_71.txt
exec_cubs291_72.txt
copy_cubs291_84.txt
copy_cubs291_85.txt

So, in words: If you take one file - e.g. "exec_aabs291_71.txt" - the first sort-criteria should be the number "71", the second sort-criteria should be the text before "aabs291". And thats all.

Hopefully that will Point it out...
# 6  
Old 11-02-2015
Well, then, try to extend RavinderSingh13's proposal:
Code:
ls *.txt | sort -t_ -k3,3 -k1,1

This User Gave Thanks to RudiC For This Post:
# 7  
Old 11-02-2015
Hi.

You originally posted:
Code:
exec_aubs291_71.txt
exec_cubs291_71.txt
exec_cubs291_72.txt
exec_aubs291_71.txt
copy_cubs291_84.txt
copy_cubs291_85.txt

which has the "72" line out of place, which was confusing to me ... cheers, drl
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Use sort to sort numerical column

How to sort the following output based on lowest to highest BE? The following sort does not work. $ sort -t. -k1,1n -k2,2n bfd.txt BE31.116 0s 0s DOWN DAMP BE31.116 0s 0s DOWN DAMP BE31.117 0s 0s ... (7 Replies)
Discussion started by: sand1234
7 Replies

2. UNIX for Beginners Questions & Answers

Difference of Sort -n -k2 -k3 & Sort -n -k2,3

Hi, Could anyone kindly show me a link or explain the difference between sort -n -k2 -k3 & sort -n -k2,3 Also, if I like to remove the row with repetition at both $2 and $3, Can I safely use sort -u -k2 -k3 Example; 100 20 30 100 20 30 So, both $2 and $3 are same and I... (2 Replies)
Discussion started by: Indra2011
2 Replies

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

4. Shell Programming and Scripting

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... (2 Replies)
Discussion started by: perl_beginner
2 Replies

5. Shell Programming and Scripting

Alternate to sort --random-sort

sort --random-sort The full command is path=`find /testdir -maxdepth 1 -mindepth 1 -type d | ***Some sort of sort function*** | head -1` I have a list I want to randomly sort. It works fine in ubuntu but on a 'osx lion' sort dosen't have the --random-sort option. I don't want to... (5 Replies)
Discussion started by: digitalviking
5 Replies

6. Shell Programming and Scripting

Help to sort out... Possible use of sort command

I have an input like 4.3.6.66 4.3.6.67 4.3.6.70 4.3.6.25 4.3.6.15 4.3.6.54 4.3.6.44 4.3.6.34 4.3.6.24 4.3.6.14 4.3.6.53 4.3.6.43 4.3.6.49 4.3.6.33 4.3.6.52 4.3.6.19 4.3.6.58 4.3.6.42 (5 Replies)
Discussion started by: dnam9917
5 Replies

7. Shell Programming and Scripting

Is it Possible to sort a list of hexadecimal numbers using "sort" command?

Hello Everybody :) !!!. i have question in mind, is it possible to sort a list of hexadecimal numbers using "sort" command? (9 Replies)
Discussion started by: Kesavan
9 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. Shell Programming and Scripting

How to Sort Floating Numbers Using the Sort Command?

Hi to all. I'm trying to sort this with the Unix command sort. user1:12345678:3.5:2.5:8:1:2:3 user2:12345679:4.5:3.5:8:1:3:2 user3:12345687:5.5:2.5:6:1:3:2 user4:12345670:5.5:2.5:5:3:2:1 user5:12345671:2.5:5.5:7:2:3:1 I need to get this: user3:12345687:5.5:2.5:6:1:3:2... (7 Replies)
Discussion started by: daniel.gbaena
7 Replies

10. Shell Programming and Scripting

sort

I check the man page but I still cannot see what this command is supposed to do sort +5 -6 <file> It just seems to sort the file as normal?? Thanks Calypso (3 Replies)
Discussion started by: Calypso
3 Replies
Login or Register to Ask a Question