Linux使用什么样的顺序?

Pao*_*olo 4 linux sorting bash

我的Bash脚本以字母数字顺序运行文件夹中的内容.但事实证明它与我在Mac OS文件夹中的顺序不同.所以现在我想知道Linux使用的排序顺序是什么,可以改变吗?我可以仅为我的Bash脚本更改它吗?假设我想在Bash脚本中运行视频播放器,以字母数字顺序运行文件夹中的所有视频,我可以在脚本中指定它应该是什么字母数字顺序吗?

Syl*_*oux 6

许多命令(包括bashglob ls,sort)的排序顺序取决于您当前的区域设置.

您可以通过设置环境变量来强制进行排序LC_COLLATE.将其设置为C将执行字节值的比较.

在我的系统上(en_US.utf8):

sh$ touch eleve
sh$ touch élève
sh$ touch Eleve 
sh$ touch Élève
sh$ touch äkta
sh$ touch österreich

sh$ ls
äkta  eleve  Eleve  élève  Élève  österreich  pommes

sh$ LC_COLLATE=fr_FR.utf8 ls
äkta  eleve  Eleve  élève  Élève  österreich  pommes

sh$ LC_COLLATE=sv_SE.utf8 ls
eleve  Eleve  élève  Élève  pommes  äkta  österreich

sh$ LC_COLLATE=C ls
Eleve  eleve  pommes  Élève  äkta  élève  österreich
Run Code Online (Sandbox Code Playgroud)

  • @Paolo,将它添加到你的〜/ .bash_profile(或〜/ .profile,如果你使用它):`export LC_COLLATE = C`(或者其他 (2认同)