Sponsored Content
Full Discussion: Sort by name, time, and size
Top Forums Shell Programming and Scripting Sort by name, time, and size Post 302633211 by jim mcnamara on Tuesday 1st of May 2012 01:44:11 PM
Old 05-01-2012
In order to sort by time you have to use mtime in seconds. That means perl or C.

Here is a simple perl subroutine to get mtime plus some shell
Code:
#!/bin/ksh
tags()
{
   perl -e '
    ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks)           
        = stat("$ARGV[0]");
     print "$ARGV[0] $mtime $size", "\n"; ' $1   

}
ls | grep -v total | 
while read fname 
do
    tags $fname 
done | sort -k1 -k2n -k3n | 
 while read f dummy
 do
     ls -l $f
 done

This gives a full listing ordered by name, mtime and size.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

sort files by size

Is there a way to sort files by size using the ls command? thanks in advance (1 Reply)
Discussion started by: AMD
1 Replies

2. UNIX for Dummies Questions & Answers

sort by size in Mb and Kb

Hi I am using the command below to list the 10 biggest directories and files in my present directory du -hs * | sort +0 | tail -10 the output is 8K disk-space 16K rish 32K WINDOWS 48K tests 104K imgvdEwLa.jpg 168K 020204_aerosmith_1024768.jdk 3.2M Acdc -... (4 Replies)
Discussion started by: the.noob
4 Replies

3. UNIX for Dummies Questions & Answers

Sort fdupes output by size

Hi I have a file that is a fdupes output. I'd like to sort the duplicated file by size. The format file is the following: 5996544 bytes each: /path1/to/file1.jpg /path2/to/file1.jpg /pathx/to/file1.jpg ... random number of lines /path999/to/file1.jpg 591910 bytes each:... (2 Replies)
Discussion started by: AdminLew
2 Replies

4. Shell Programming and Scripting

Can't sort file by size column

Hello, I've done ls -ls >fileout1 When I do the sort command for +4 it sorts it bu group. When I do +5 it sorts it by date. But it's skipping the file size column. Example: rwxr-xr-x 1 Grueben sup 65 16 Sep 13:58 cdee How can I sort it by file size? It doesn't... (2 Replies)
Discussion started by: Grueben
2 Replies

5. Shell Programming and Scripting

sort by size

Can some one help in sorting the attached file. I used cmd: sort -r jar1.txt -o sortedjar.txt , but it didnt work. Thanks for your help in Advance. (6 Replies)
Discussion started by: sawyer
6 Replies

6. Shell Programming and Scripting

Sort by segment size

fuser -OdV /temp This command returns the output below; inode=132 size=10871 fd=2 5046330 inode=570 size=292 fd=1 5439528 inode=259 size=2669 fd=1 5570758 inode=759 size=255 fd=1 6226124 inode=636 size=1035 fd=1 ... (8 Replies)
Discussion started by: Daniel Gate
8 Replies

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

8. Shell Programming and Scripting

Script to sort by size of directories

Hello, I'm trying to find top 5(highest) directories by size. I did something like du -sh * > $file Where I can get all the size with respect to directories, but I need only top 5 directory from the file. How can I sort by size in the file and print top 5 sizes with the directory name??? ... (3 Replies)
Discussion started by: pjeedu2247
3 Replies

9. UNIX for Dummies Questions & Answers

[Solved] Size (Sort files using ...)

-rw-r--r-- 1 oracle oinstall 4 Jan 17 16:23 a -rw-r--r-- 1 oracle oinstall 212 Jan 17 17:51 amar -rw-r--r-- 1 oracle oinstall 32 Jan 17 17:30 b -rw-r--r-- 1 oracle oinstall 246 Jan 17 15:40 h1.tar.gz Hi, I want combination of linux command to sort out the line which has 32k size. ... (5 Replies)
Discussion started by: karthick nath
5 Replies

10. UNIX for Beginners Questions & Answers

Sort by file/directory size

OS : RHEL 6.6 I want to list the files/directories sorted (Ascending or Desceding) by their size. As you can see in the below example, du command doesn't sort by size. In Linux world, is there any other command or workaround using du command to list the files/directories sorted by their... (6 Replies)
Discussion started by: John K
6 Replies
install::TempContent::Objects::mod_perl-2.0.9::docs::apiUserRContributed Peinstall::TempContent::Objects::mod_perl-2.0.9::docs::api::APR::Finfo(3)

NAME
APR::Finfo - Perl API for APR fileinfo structure Synopsis use APR::Finfo (); use APR::Const -compile => qw(FINFO_NORM); my $finfo = APR::Finfo::stat("/tmp/test", APR::Const::FINFO_NORM, $pool); $device = $finfo->device; # (stat $file)[0] $inode = $finfo->inode; # (stat $file)[1] # stat returns an octal number while protection is hex $prot = $finfo->protection; # (stat $file)[2] $nlink = $finfo->nlink; # (stat $file)[3] $gid = $finfo->group; # (stat $file)[4] $uid = $finfo->user; # (stat $file)[5] $size = $finfo->size; # (stat $file)[7] $atime = $finfo->atime; # (stat $file)[8] $mtime = $finfo->mtime; # (stat $file)[9] $ctime = $finfo->ctime; # (stat $file)[10] $csize = $finfo->csize; # consumed size: not portable! $filetype = $finfo->filetype; # file/dir/socket/etc $fname = $finfo->fname; $name = $finfo->name; # in filesystem case: # valid fields that can be queried $valid = $finfo->valid; Description APR fileinfo structure provides somewhat similar information to Perl's "stat()" call, but you will want to use this module's API to query an already "stat()'ed" filehandle to avoid an extra system call or to query attributes specific to APR file handles. During the HTTP request handlers coming after "PerlMapToStorageHandler", "$r->finfo" already contains the cached values from the apr's "stat()" call. So you don't want to perform it again, but instead get the "ARP::Finfo" object via: my $finfo = $r->finfo; API
"APR::Finfo" provides the following functions and/or methods: "atime" Get the time the file was last accessed: $atime = $finfo->atime; obj: $finfo ( "APR::Finfo object" ) return: $atime ( integer ) Last access time in seconds since the epoch since: 2.0.00 This method returns the same value as Perl's: (stat $filename)[8] Note that this method may not be reliable on all platforms, most notably Win32 -- FAT32 filesystems appear to work properly, but NTFS filesystems do not. "csize" Get the storage size consumed by the file $csize = $finfo->csize; obj: $finfo ( "APR::Finfo object" ) return: $csize ( integer ) since: 2.0.00 Chances are that you don't want to use this method, since its functionality is not supported on most platforms (in which case it always returns 0). "ctime" Get the time the file was last changed $ctime = $finfo->ctime; obj: $finfo ( "APR::Finfo object" ) return: $ctime ( integer ) Inode change time in seconds since the epoch since: 2.0.00 This method returns the same value as Perl's: (stat $filename)[10] The ctime field is non-portable. In particular, you cannot expect it to be a "creation time", see "Files and Filesystems" in the perlport manpage for details. "device" Get the id of the device the file is on. $device = $finfo->device; obj: $finfo ( "APR::Finfo object" ) return: $device ( integer ) since: 2.0.00 This method returns the same value as Perl's: (stat $filename)[0] Note that this method is non-portable. It doesn't work on all platforms, most notably Win32. "filetype" Get the type of file. $filetype = $finfo->filetype; obj: $finfo ( "APR::Finfo object" ) return: $filetype ( ":filetype constant" ) since: 2.0.00 For example: use APR::Pool; use APR::Finfo; use APR::Const -compile => qw(FILETYPE_DIR FILETYPE_REG FINFO_NORM); my $pool = APR::Pool->new(); my $finfo = APR::Finfo::stat("/tmp", APR::Const::FINFO_NORM, $pool); my $finfo = $finfo->filetype; if ($finfo == APR::Const::FILETYPE_REG) { print "regular file"; } elsif ($finfo == APR::Const::FILETYPE_REG) { print "directory"; } else { print "other file"; } Since /tmp is a directory, this will print: directory "fname" Get the pathname of the file (possibly unrooted) $fname = $finfo->fname; obj: $finfo ( "APR::Finfo object" ) return: $filetype ( string ) since: 2.0.00 "group" Get the group id that owns the file: $gid = $finfo->group; obj: $finfo ( "APR::Finfo object" ) return: $gid ( number ) since: 2.0.00 This method returns the same value as Perl's: (stat $filename)[5] Note that this method may not be meaningful on all platforms, most notably Win32. Incorrect results have also been reported on some versions of OSX. "inode" Get the inode of the file. $inode = $finfo->inode; obj: $finfo ( "APR::Finfo object" ) return: $inode ( integer ) since: 2.0.00 This method returns the same value as Perl's: (stat $filename)[1] Note that this method may not be meaningful on all platforms, most notably Win32. "mtime" The time the file was last modified $mtime = $finfo->mtime; obj: $finfo ( "APR::Finfo object" ) return: $mtime ( integer ) Last modify time in seconds since the epoch since: 2.0.00 This method returns the same value as Perl's: (stat $filename)[9] "name" Get the file's name (no path) in filesystem case: $name = $finfo->name; obj: $finfo ( "APR::Finfo object" ) return: $device ( string ) since: 2.0.00 "nlink" Get the number of hard links to the file. $nlink = $finfo->nlink; obj: $finfo ( "APR::Finfo object" ) return: $nlink ( integer ) since: 2.0.00 This method returns the same value as Perl's: (stat $filename)[3] "protection" Get the access permissions of the file. Mimics Unix access rights. $prot = $finfo->protection; obj: $finfo ( "APR::Finfo object" ) return: $prot ( ":fprot constant" ) since: 2.0.00 This method returns the same value as Perl's: (stat $filename)[2] Note: Perl's stat returns an octal number while mod_perl's "protection" returns a hex number. See perldoc -f stat and APR's file_io for more information on each. "size" Get the size of the file $size = $finfo->size; obj: $finfo ( "APR::Finfo object" ) return: $size ( integer ) Total size of file, in bytes since: 2.0.00 This method returns the same value as Perl's: (stat $filename)[7] "stat" Get the specified file's stats. $finfo = APR::Finfo::stat($fname, $wanted_fields, $p); arg1: $fname ( string ) The path to the file to "stat()". arg2: $wanted_fields ( ":finfo constant" ) The desired fields, as a bitmask flag of "APR::FINFO_*" constants. Notice that you can also use the constants that already combine several elements in one. For example "APR::Const::FINFO_PROT" asks for all protection bits, "APR::Const::FINFO_MIN" asks for the following fields: type, mtime, ctime, atime, size and "APR::Const::FINFO_NORM" asks for all atomic unix "apr_stat()" fields (similar to perl's "stat()"). arg3: $p ( "APR::Pool object" ) the pool to use to allocate the file stat structure. ret: $finfo ( "APR::Finfo object" ) since: 2.0.00 For example, here is how to get most of the "stat" fields: use APR::Pool (); use APR::Finfo (); use APR::Const -compile => qw(FINFO_NORM); my $pool = APR::Pool->new(); my $finfo = APR::Finfo::stat("/tmp/test", APR::Const::FINFO_NORM, $pool); "user" Get the user id that owns the file: $uid = $finfo->user; obj: $finfo ( "APR::Finfo object" ) return: $uid ( number ) since: 2.0.00 This method returns the same value as Perl's: (stat $filename)[4] Note that this method may not be meaningful on all platforms, most notably Win32. "valid" The bitmask describing valid fields of this apr_finfo_t structure including all available 'wanted' fields and potentially more $valid = $finfo->valid; obj: $finfo ( "APR::Finfo object" ) arg1: $valid ( bitmask ) This bitmask flag should be bit-OR'ed against ":finfo constant" constants. since: 2.0.00 See Also mod_perl 2.0 documentation. Copyright mod_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 2.0. Authors The mod_perl development team and numerous contributors. perl v5.18.2 2015-06install::TempContent::Objects::mod_perl-2.0.9::docs::api::APR::Finfo(3)
All times are GMT -4. The time now is 01:00 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy