Take a look at the following (and yes, the cat is not needed but here to show the sort all contained in one stream)
the -t set a delimiter of .
the -k are the key fields
and 3.6,3.7 means take the 3rd field and consider character positions 6 thru 7 as the sort request.
Perhaps this can get you started.
A thought... use awk first to read the month field, and then append to the end of each line a numeric for the month - ie append "|05" for May. Then do your 2nd level sort on that field. Before outputting results, cut out the ending "|05" and other month numbers.
Code:
> cat file40
Nov 4 18:27 SONYELEC00.GI22973.01May07_1623.gpg
Nov 4 18:27 SONYELEC00.GI22973.06Mar08_1504.gpg
Nov 4 18:27 SONYELEC00.GI22973.06Sep07_1900.gpg
Nov 4 18:27 SONYELEC00.GI22973.08Nov07_1900.gpg
Nov 4 18:27 SONYELEC00.GI22973.13Aug07_1900.gpg
Nov 4 18:27 SONYELEC00.GI22973.19Apr07_1733.gpg
Nov 4 18:27 SONYELEC00.GI22973.22Jan08_1900.gpg
Nov 4 18:27 SONYELEC00.GI22973.24Apr07_1757.gpg
Nov 4 18:27 SONYELEC00.GI22973.26Jun08_1900.gpg
Nov 4 18:27 SONYELEC00.GI22974.01May07_1623.gpg
Nov 4 18:27 SONYELEC00.GI22974.13Aug07_1900.gpg
Nov 4 18:27 SONYELEC00.GI22974.19Apr07_1733.gpg
Nov 4 18:27 SONYELEC00.GI22974.24Apr07_1757.gpg
> cat file40 | sort -t"." -k 3.6,3.7 -k 3.3,3.5 -k 3.1,3.2
Nov 4 18:27 SONYELEC00.GI22973.19Apr07_1733.gpg
Nov 4 18:27 SONYELEC00.GI22974.19Apr07_1733.gpg
Nov 4 18:27 SONYELEC00.GI22973.24Apr07_1757.gpg
Nov 4 18:27 SONYELEC00.GI22974.24Apr07_1757.gpg
Nov 4 18:27 SONYELEC00.GI22973.13Aug07_1900.gpg
Nov 4 18:27 SONYELEC00.GI22974.13Aug07_1900.gpg
Nov 4 18:27 SONYELEC00.GI22973.01May07_1623.gpg
Nov 4 18:27 SONYELEC00.GI22974.01May07_1623.gpg
Nov 4 18:27 SONYELEC00.GI22973.08Nov07_1900.gpg
Nov 4 18:27 SONYELEC00.GI22973.06Sep07_1900.gpg
Nov 4 18:27 SONYELEC00.GI22973.22Jan08_1900.gpg
Nov 4 18:27 SONYELEC00.GI22973.26Jun08_1900.gpg
Nov 4 18:27 SONYELEC00.GI22973.06Mar08_1504.gpg
I need to build a k shell script that will sort files in a directory where files appear like this "XXXX_2008021213.DAT. I need to sort by date in the filename and then move files by individual date to a working folder. concatenate the files in the working folder then start a process once... (2 Replies)
Hi,
the command "ls -l" gives the list of files of a directory with details such as date and size.
Is there a way to restrict this list to see only files created on a given date? Suppose I want to list only the files created today, what is the command to type?
Thanks (3 Replies)
Hi,
I was very surprised to not be able to find an answer to this question despite my best efforts in Google and elsewhere. Maybe it's a good thing as it forced me to finally become a member in this great forum that i use frequently.
Ok my question:
I want to be able to sort files inside a... (3 Replies)
Hi,
I have the following file, I need to sort it based on a column and write to different output files based on this column
request_guid iso_country_cd address_data response_time
32895901-d17f-414c-ac93-3e7e0f5ec240 AND BaseName:CATALUNYA; HouseNumber:1; ISOCountryCode:AND;... (1 Reply)
hello,
I have a file as follows:
F0100010 A C F0100040 A G BTA-28763-no-rs 77.2692
F0100020 A G F0100030 A T BTA-29334-no-rs 11.4989
F0100030 A T F0100020 A G BTA-29515-no-rs 127.006
F0100040 A G F0100010 A C BTA-29644-no-rs 7.29827
F0100050 A... (9 Replies)
I am wanting to search a directory tree and return files that are older than a specified datetime. So far straight forward with find, now I want to sort in date order and format the output.
So far I have this, but is not working and there is a problem with "." in the file and/or path names.
... (2 Replies)
Hi all, looking for some help here. I'm what you'd call a dirty programmer. my shell scripts might be ugly, but they (usually) function...
Say I have a single column text file with a list of dates (yyyymmdd) that represent the elevation of a point on that date (I work with land subsidence, so... (2 Replies)
Hi All,
I need to find all files other than first two files dates & last file date for month and month/year wise list.
lets say there are following files in directory
Mar 19 2012 c.txt
Mar 19 2012 cc.txt
Mar 21 2012 d.txt
Mar 22 2012 f.txt
Mar 24 2012 h.txt
Mar 25 2012 w.txt
Feb 12... (2 Replies)
HI,
i have to do some file validations on which i am receving daily.could any one please let me know how we can able to do validations on below scenarios
1) On Date column Ex If i am receving date in format of YYYYMMDD---- 20141118 --- here i have to check the date value 20141142 if the... (7 Replies)
Hi,
I have two pipe separated files as below:
head -3 file1.txt
"HD"|"Nov 11 2016 4:08AM"|"0000000018"
"DT"|"240350264"|"56432"
"DT"|"240350264"|"56432"
head -3 file2.txt
"HD"|"Nov 15 2016 2:18AM"|"0000000019"
"DT"|"240350264"|"56432"
"DT"|"240350264"|"56432"
I want to list the... (6 Replies)
Discussion started by: Prasannag87
6 Replies
LEARN ABOUT DEBIAN
tv_sort
TV_SORT(1p) User Contributed Perl Documentation TV_SORT(1p)NAME
tv_sort - Sort XMLTV listings files by date, and add stop times.
SYNOPSIS
tv_sort [--help] [--by-channel] [--output FILE] [FILE...]
DESCRIPTION
Read XMLTV data and write out the same data sorted in date order. Where stop times of programmes are missing, guess them from the start
time of the next programme on the same channel. For the last programme of a channel, no stop time can be added.
Tv_sort also performs some sanity checks such as making sure no two programmes on the same channel overlap.
--output FILE write to FILE rather than standard output
--by-channel sort first by channel id, then by date within each
channel.
--duplicate-error If the input contains the same programme more than once,
consider this as an error. Default is to silently
ignore duplicate entries.
The time sorting is by start time, then by stop time. Without --by-channel, if start times and stop times are equal then two programmes
are sorted by internal channel id. With --by-channel, channel id is compared first and then times.
You can think of tv_sort as converting XMLTV data into a canonical form, useful for diffing two files.
EXAMPLES
At a typical Unix shell or Windows command prompt:
tv_sort <in.xml >out.xml
tv_sort in.xml --output out.xml
These are different ways of saying the same thing.
AUTHOR
Ed Avis, ed@membled.com
perl v5.14.2 2006-03-02 TV_SORT(1p)