默认情况下,LINUX排序设置不对文件名中的字符进行排序,比如以下划线开头的文件名 在排序时下划线被忽略了,感觉很不习惯
----------------------------------
下载 viewtopic.php?t=52134&highlight=%E6%8E%92%E5%BA%8F 的源码包
修改里面的 iso14651_t1.hacked 内容,查看附件
代码: 全选
# 修改过的 iso14651_t1.hacked 文件
mv iso14651_t1.hacked iso14651_t1.hacked.old
cat iso14651_t1.hacked.old | sed 's/^\(<U00[0-F][0-F]>\) IGNORE;IGNORE;IGNORE;.*/\1 \1 # /' > iso14651_t1.hacked
## 取消 0x00-0xFF 内的字符忽略
*** 再调整 文件内 <U00??> 的排序 *** 花了XX个小时
代码: 全选
#!/bin/bash
mkdir /tmp/test
cd /tmp/test
touch ! \" \# $ % \& \' \( \) \* \+ \, : \; \< \= \> \? \@
# - / . .. ~
touch 0 1 2 3 4 5 6 7 8 9
touch 00 11 22 33 44 55 66 77 88 99
touch 10 231 230中
touch A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
touch a b c d e f g h i j k l m n o p q r s t u v w x y z
touch [ \\ ] ^ _ \` { \| } ¡
touch ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À
exit 0
代码: 全选
## 现有的问题:
# 数字排在 字符前,即使字符的ASC值较小,
# 单数字文件名与数字开头的文件名排序不一致 好像 数字 按 数值排序了,,晕菜*
# 一些 0xA1 - 0xBF 之间的符号排在了字母前面
# #井号排在Z后面,,很奇怪
# 除了#井号问题以外,其它字符不常用于文件名
## 英文字母不分大小写, 包含 扩展拉丁字母 ,按原文件里排列
如果有人能解决的话就最好了