What sort order does Linux use?

后端 未结 1 1766
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-12-21 02:03

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

相关标签:
1条回答
  • 2020-12-21 02:17

    The sort order for many commands (incl. bash glob, ls, sort) is based on your current locale settings.

    You can force the collation by setting the LC_COLLATE environment variable. Setting it to C will perform a comparison on byte values.

    On my system (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
    
    0 讨论(0)
提交回复
热议问题