当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 1 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 把文件名中的字符加入排序
帖子发表于 : 2007-11-13 15:01 
头像

注册: 2007-03-13 17:26
帖子: 2254
送出感谢: 0 次
接收感谢: 1
我有很多文件名在WIN下是用符号开头的,这样就能排在数字及字母及汉字开头的文件名前面
默认情况下,LINUX排序设置不对文件名中的字符进行排序,比如以下划线开头的文件名 在排序时下划线被忽略了,感觉很不习惯

----------------------------------

下载 http://forum.ubuntu.org.cn/viewtopic.ph ... 2%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 次
页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 1 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译