File ordering by portion of filename


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting File ordering by portion of filename
# 1  
Old 05-19-2009
File ordering by portion of filename

Hi,

Lets say I have a few xml files:
1234567894.xml
abc_1234567895.xml
abc_000_1234567890.xml
abc_0000000_1234567893.xml
684_abc_000_1234567899.xml

The naming convention of the files is:
xxxxx_timestamp.xml OR timestamp.xml
where x can be anything

and I would like to order them by the timestamp, so the list should be:

abc_000_1234567890.xml
abc_0000000_1234567893.xml
1234567894.xml
abc_1234567895.xml
684_abc_000_1234567899.xml

Is there anyway to order the files using the ls command?
or do I need to use awk for this?
# 2  
Old 05-19-2009
if the timestamp in the filename corresponds to the actual timestamp when file is "created", then you can use ls -lt. Otherwise, use it together with sort.
# 3  
Old 05-19-2009
Quote:
Originally Posted by ghostdog74
if the timestamp in the filename corresponds to the actual timestamp when file is "created", then you can use ls -lt. Otherwise, use it together with sort.

Hi, unfortunately, the the actual timestamp of the file does not correspond with the timestamp in the filename.
can you share with me how I can use the sort in this case ?
# 4  
Old 05-19-2009
If the last modification timestamp matches the file name then just use ls -t.
Otherwise try something like...
Code:
ls *.xml | awk -F _ '{print $NF "\t" $0}' | sort | cut -f2-

# 5  
Old 05-19-2009
Quote:
Originally Posted by Ygor
If the last modification timestamp matches the file name then just use ls -t.
Otherwise try something like...
Code:
ls *.xml | awk -F _ '{print $NF "\t" $0}' | sort | cut -f2-


This works great.
Thank you Ygor!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to append portion of a file content to another file when a certain pattern is matching?

Hi ladies and gentleman.. I have two text file with me. I need to replace one of the file content to another file if one both files have a matching pattern. Example: text1.txt: ABCD 1234567,HELLO_WORLDA,HELLO_WORLDB DCBA 3456789,HELLO_WORLDE,HELLO_WORLDF text2.txt: XXXX,ABCD... (25 Replies)
Discussion started by: bananamen
25 Replies

2. Shell Programming and Scripting

Extracting a portion of the filename

Hi I would like to extract the first portion of filename from a list of files. The filename pattern is of the form 123456789_TEXT_TEXT_TEXT_.csv. I want to extract just the numerical portion of this filename from the list of files and then output this into another text file. K (6 Replies)
Discussion started by: kamal_p_99
6 Replies

3. Shell Programming and Scripting

Unix Scripting : Sort a Portion of a File and not the complete file

Need to sort a portion of a file in a Alphabetical Order. Example : The user adam is not sorted and the user should get sorted. I don't want the complete file to get sorted. Currently All_users.txt contains the following lines. ############## # ARS USERS ############## mike, Mike... (6 Replies)
Discussion started by: evrurs
6 Replies

4. Shell Programming and Scripting

Cutting out text from specific portion on filename

Hi, how do I go about cutting out the first numeric characters after the word "access"? access1005101228.merged-00.15.17.86.d8.b8.log.gz (16 Replies)
Discussion started by: GermanJulian
16 Replies

5. Shell Programming and Scripting

ordering a data file

With an input file like this: How can I get an output like this? (In the quoted examples, the "_" sign represents an empty space) Note that there are some minus signs and no spaces, in the example above the first character of the first line is an empty space, so each number spans 10... (16 Replies)
Discussion started by: lego
16 Replies

6. Shell Programming and Scripting

Filename from splitting files to have the same filename of the original file with counter value

Hi all, I have a list of xml file. I need to split the files to a different files when see the <ko> tag. The list of filename are B20090908.1100-20090908.1200_CDMA=1,NO=2,SITE=3.xml B20090908.1200-20090908.1300_CDMA=1,NO=2,SITE=3.xml B20090908.1300-20090908.1400_CDMA=1,NO=2,SITE=3.xml ... (3 Replies)
Discussion started by: natalie23
3 Replies

7. Shell Programming and Scripting

extract string portion from filename using sed

Hi All, I posted something similar before but I now have a another problem. I have filenames as below TOP_TABIN240_20090323.200903231830 TOP_TABIN235_1_20090323.200903231830 i need to extract the dates as in bold. Using bash v 3.xx Im trying to using the print sed command but... (11 Replies)
Discussion started by: santam
11 Replies

8. UNIX for Dummies Questions & Answers

Portion of a file in a new files

Hi, I need to devide one file into 3 files based on column numbers and put a string (FILE1, FILE2, FILE3) in the last..... Input file: Column1,Column2,Column3,Column4,Column5,Column6,Column7,Column8,Column9,Column10 Output1: Column1,Column3,Column6,Column4,Column5,FILE1 Output2:... (6 Replies)
Discussion started by: yale_work
6 Replies

9. Programming

Delete Portion of a file

hi i would like to know whether i can delete a part of a file in C for eg. if my file contained 1234567890 and i want to delete 456 so that it becomes 1237890 is there a way i can do this. well, one way i can achieve this is by creating a new file, copy whatever i want, then delete the... (2 Replies)
Discussion started by: sameersbn
2 Replies

10. Shell Programming and Scripting

Match portion of the filename

hi, I have a script which accept filename and process them, however, one of the file needs 'special' handling so I need to identify it, say the filename contains the word "STOCK" (i.e. NEWYORKSTOCKLIST20060627.txt), I want to check if the filename contains the word "STOCK", how can I do that?... (1 Reply)
Discussion started by: mpang_
1 Replies
Login or Register to Ask a Question