[CentOS] Sorting by date

Sean Hart boardnutz at blacklight.net
Mon Feb 28 23:24:24 UTC 2011


On 2/28/11 12:35 PM, erikmccaskey64 wrote:
> Original:
> Jan 23 2011 10:42 SOMETHING 2007.12.20.avi
> Jun 26 2009 SOMETHING 2009.06.25.avi
> Feb 12 2010 SOMETHING 2010.02.11.avi
> Jan 29 2011 09:17 SOMETHING 2011.01.27.avi
> Feb 11 2011 20:06 SOMETHING 2011.02.10.avi
> Feb 27 2011 23:05 SOMETHING 2011.02.24.avi
>
>
> Output:
> Feb 27 2011 23:05 SOMETHING 2011.02.24.avi
> Feb 11 2011 20:06 SOMETHING 2011.02.10.avi
> Jan 29 2011 09:17 SOMETHING 2011.01.27.avi
> Jan 23 2011 10:42 SOMETHING 2007.12.20.avi
> Feb 12 2010 SOMETHING 2010.02.11.avi
> Jun 26 2009 SOMETHING 2009.06.25.avi
>
>
> How could I get the output where the newest file is at the top?

Assuming you are getting the time from the ls -l command...

To sort within the ls command (man ls):
ls -lt

To sort after the ls command (man ls):
ls -al --full-time | awk '{print $6 " " $7 " " $9}' | sort -r

Not using ls:
To take that input and sort you'd have to do some hashing to translate
the months to a sortable format (like numbers) I think.  Alternatively,
you could use the listed date to generate a UTF date via the date command.  

~Sean






More information about the CentOS mailing list