[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Numeric sorting in GNU ls
From: |
Bob Proulx |
Subject: |
Re: Numeric sorting in GNU ls |
Date: |
Fri, 22 Feb 2002 23:20:26 -0700 |
> Is there way to tell ls to sort filename "2" before file "10"?
Use the 'ls -v' option. Read the 'info ls' documentation for more
information on this.
Note that you did not say which version of ls you were using. It is
possible that your version is older and does not yet contain that
option.
The latest released version is
ftp://ftp.gnu.org/pub/gnu/fileutils/fileutils-4.1.tar.gz
The latest testing version is
ftp://alpha.gnu.org/gnu/fileutils/fileutils-4.1.5.tar.gz
Bob
`-v'
`--sort=version'
Sort by version name and number, lowest first. It behaves like a
default sort, except that each sequence of decimal digits is
treated numerically as an index/version number. (*Note More
details about version sort::.)
More details about version sort
-------------------------------
The version sort takes into account the fact that file names
frequently include indices or version numbers. Standard sorting
functions usually do not produce the ordering that people expect
because comparisons are made on a character-by-character basis. The
version sort addresses this problem, and is especially useful when
browsing directories that contain many files with indices/version
numbers in their names:
> ls -1 > ls -1v
foo.zml-1.gz foo.zml-1.gz
foo.zml-100.gz foo.zml-2.gz
foo.zml-12.gz foo.zml-6.gz
foo.zml-13.gz foo.zml-12.gz
foo.zml-2.gz foo.zml-13.gz
foo.zml-25.gz foo.zml-25.gz
foo.zml-6.gz foo.zml-100.gz
Note also that numeric parts with leading zeroes are considered as
fractional one:
> ls -1 > ls -1v
abc-1.007.tgz abc-1.007.tgz
abc-1.012b.tgz abc-1.01a.tgz
abc-1.01a.tgz abc-1.012b.tgz