问题描述
我的Bash脚本运行的东西文件夹中,以字母顺序。但事实证明,这是不一样的顺序,一个我在我的Mac OS文件夹。所以现在我想知道什么排序顺序Linux使用,并且可以把它改变?我可以改变它只是我的Bash脚本?说我想运行在bash脚本的视频播放器,运行的所有影片中字母顺序文件夹中,我可以在脚本指定哪些字母顺序应该是?
My Bash script is running things in a folder, in alphanumerical order. But it turns out it's not the same order as the one I have in my Mac OS folder. So now I'm wondering what sorting order Linux uses, and can it be changed? Can I change it for my Bash script only? Say I want to run a video player in a Bash script, running all videos in a folder in alphanumerical order, can I specify in the script what alphanumerical order it should be?
推荐答案
的排序顺序许多命令(包括庆典
水珠, LS
,排序
)基于当前的区域设置。
The sort order for many commands (incl. bash
glob, ls
, sort
) is based on your current locale settings.
您可以的力的排序规则通过设置 LC_COLLATE
环境变量。将其设置为 C 的将执行上的字节的值进行比较。
You can force the collation by setting the LC_COLLATE
environment variable. Setting it to C will perform a comparison on byte values.
在我的系统( 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
这篇关于它的Linux使用什么样的排序顺序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!