当前目录下有三种视频文件,都是用amule下载的,文件中有大量的中文字符,所有文件的后缀都是英文,分别为 rm rmvb avi 。
如果
# ls *m
# ls *b
# ls *i
这样使用的结果完全正常,可以把想要的一个不漏地筛出来。
但如果用过滤(或者叫忽略) -I ,或许会有一点小麻烦:
# ls -I '*m' -I '*b' I '*i'
其中有的文件能过滤掉,有的不能,原因在于当前终端的locale是zh_CN.GBK,在这种情况下,只有文件名中的汉字也是GBK的才行得通,而那些包含有UTF-8编码的汉字的文件名则无法过滤,尽管所有文件的后缀都一样是英文。确实,我最近换了一下locale,因为特殊用途要用到fcitx,而fcitx在GBK环境下效果是最好的,所以是不得已才改了locale,所以电骡目录下有两个时期下载的包含两种编码的汉字的文件名。而作为国际标准的UTF-8显然得到了应有的照顾,当locale是zh_CN.UTF-8的情况下通吃,用 ls -I 一点错误也没有,不管什么文件都能过滤。
--------------------
09.12.10
Ubuntu 8.04.1
阅读(900) | 评论(0) | 转发(0) |