把文件名中的字符加入排序

系统字体配置、中文显示和输入法问题
回复
头像
windwiny
帖子: 2254
注册时间: 2007-03-13 17:26
送出感谢: 0
接收感谢: 1 次

把文件名中的字符加入排序

#1

帖子 windwiny » 2007-11-13 15:01

我有很多文件名在WIN下是用符号开头的,这样就能排在数字及字母及汉字开头的文件名前面
默认情况下,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个小时
重启X,测试排序

代码: 全选

#!/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后面,,很奇怪

# 除了#井号问题以外,其它字符不常用于文件名

## 英文字母不分大小写, 包含 扩展拉丁字母 ,按原文件里排列
原文件里的注释不是英文的,看不懂,还有上面一些问题解决不了,不过起码常用符号能参加排序了
如果有人能解决的话就最好了
附件
iso14651_t1.hacked.gz
(10.11 KiB) 下载 7 次
回复

回到 “字体美化和中文支持”