ls
我在 MacOS 11.6.1 上使用。在输出中,大写字母显示在小写字母之前。例如,我得到以下输出:
$ ls
Blabla.txt
GAGAS.txt
asdf.txt
blabla.txt
并希望有:
$ ls
asdf.txt
blabla.txt
Blabla.txt
GAGAS.txt
这是正常的默认输出吗ls
?我怎样才能得到输出数字2?
ls
我在 MacOS 11.6.1 上使用。在输出中,大写字母显示在小写字母之前。例如,我得到以下输出:
$ ls
Blabla.txt
GAGAS.txt
asdf.txt
blabla.txt
并希望有:
$ ls
asdf.txt
blabla.txt
Blabla.txt
GAGAS.txt
这是正常的默认输出吗ls
?我怎样才能得到输出数字2?
ls
POSIX 要求根据当前语言环境中的整理顺序对输出中的文件名进行排序。如果您的系统没有区域设置,其中排序顺序至少在比较字符串的第一遍中忽略大小写,您可以尝试通过管道传输到
sort -f
:(可以选择
-q
通过替换文件名中的控制字符(包括换行符)来保证文件名显示在一行上?
(注意这可能会影响顺序)。或者使用 zsh shell,使用类似以下内容:
代替
ls
。即定义一个lc
辅助函数,将 的值更改$REPLY
为小写,并将其用作o
全局扩展的排序函数(不一定严格等同于不区分大小写的比较,但应该足够接近,特别是对于纯 ASCII 文本)。