本文介绍了它的Linux使用什么样的排序顺序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的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使用什么样的排序顺序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-03 07:36