I am trying to find a way to have the results of an ls command be printed in a case insensitive manner.
currently an ls command results in:
Apple
Boy
Chart
Dock
apples
boys
charts
docks
what i want is this:
Apple
apples
Boy
boys
Chart
charts
Dock
docks
is this possible?
ls
(at least if you're using the GNU coreutils version; ls --version
to check that) sorts file names according to the current locale.
The set of available locales varies from system to system (locale -a
for a list), but on my system this:
LC_COLLATE=en_US.utf8 ls
sorts names with a
and A
before b
and B
-- though it might not be exactly in the order you're looking for.
This works even when ls
lists files in multiple columns, something that's difficult to do with sort -f
.
(I have $LC_COLLATE
set to C
specifically so that locale-sensitive sorting is done in ASCII order.)