Chinaunix

标题: 方括号扩展问题 [打印本页]

作者: chen1mao    时间: 2010-06-26 14:01
标题: 方括号扩展问题
列出三个字母组成 且三个字幕都答谢的文件。
[root@nagios wildcards]# ll
total 64
-rw-r--r-- 1 root root 0 Jun 26 13:54 a1
-rw-r--r-- 1 root root 0 Jun 26 13:54 a12
-rw-r--r-- 1 root root 0 Jun 26 13:54 a2
-rw-r--r-- 1 root root 0 Jun 26 13:54 a3
-rw-r--r-- 1 root root 0 Jun 26 13:54 ab
-rw-r--r-- 1 root root 0 Jun 26 13:54 abc
-rw-r--r-- 1 root root 0 Jun 26 13:57 abC
-rw-r--r-- 1 root root 0 Jun 26 13:54 AbC
-rw-r--r-- 1 root root 0 Jun 26 13:54 ABC
-rw-r--r-- 1 root root 0 Jun 26 13:54 ABc2
-rw-r--r-- 1 root root 0 Jun 26 13:54 all
-rw-r--r-- 1 root root 0 Jun 26 13:54 ba
-rw-r--r-- 1 root root 0 Jun 26 13:54 ba.1
-rw-r--r-- 1 root root 0 Jun 26 13:54 ba.2
-rw-r--r-- 1 root root 0 Jun 26 13:54 filex
-rw-r--r-- 1 root root 0 Jun 26 13:54 filey
[root@nagios wildcards]# ls [A-Z][A-Z][A-Z]
AbC  ABC
[root@nagios wildcards]# bash --version
GNU bash, version 3.2.25(1)-release (i686-redhat-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
[root@nagios wildcards]#


AbC是怎么出来的呢?
shell不是支持[]的吗?
作者: chen1mao    时间: 2010-06-26 14:12
[root@nagios wildcards]# ls [A-Z][A-Z][A-Z]
Abc  AbC  ABC
原来[]之间是逻辑或的关系--!
结贴。。
作者: chen1mao    时间: 2010-06-26 14:43
ls [[:upper:]][[:upper:]][[:upper:]]
那位能告诉我下[[:upper:]]在shell里叫啥?元字符?通配符?
作者: chen1mao    时间: 2010-06-26 14:50
[root@nagios wildcards]# export LANG=C
[root@nagios wildcards]# ls [A-Z][A-Z][A-Z]
ABC

来个传送门
http://www.linuxeden.com/forum/thread-133147-1-1.html

Many locales sort characters in dictio-nary  order,  and in these locales [a-d] is typically not equivalent to [abcd]; it might be equivalent to [aBbCcDd], for  example.
作者: chen1mao    时间: 2010-06-26 14:54
好像不止是abcd是顺序混乱,我测试貌似都混乱了--!
[root@nagios wildcards]# export LANG=en_US.UTF-8
[root@nagios wildcards]# ls [A-Z][A-Z][A-Z]
Abc  AbC  ABC  Bcd  BcD  BCD
[root@nagios wildcards]# touch Xyz
[root@nagios wildcards]# touch XyZ
[root@nagios wildcards]# touch XYZ
[root@nagios wildcards]# ls [A-Z][A-Z][A-Z]
Abc  AbC  ABC  Bcd  BcD  BCD  Xyz  XyZ  XYZ
[root@nagios wildcards]# export LANG=C
[root@nagios wildcards]# ls [A-Z][A-Z][A-Z]
ABC  BCD  XYZ
[root@nagios wildcards]#
作者: Shell_HAT    时间: 2010-06-26 15:11
回复 3# chen1mao


打开ABS,看看第316页。

Advanced Bash-Scripting Guide 3.9.1 中文版.pdf
http://bbs.chinaunix.net/thread-1610033-1-1.html
作者: chen1mao    时间: 2010-06-26 18:14
回复  chen1mao


打开ABS,看看第316页。

Advanced Bash-Scripting Guide 3.9.1 中文版.pdf
Shell_HAT 发表于 2010-06-26 15:11



    找到:)
POSIX字符类. [:class:]
非常感谢




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2