免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2552 | 回复: 8
打印 上一主题 下一主题

ll /dev/tty[a-z]? 命令为什么出现ttyC*等大写字母设备 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-15 17:06 |只看该作者 |倒序浏览
环境:dc4。1
#ll /dev/tty[a-z]?
...
rw-rw----    1 root     uucp      19,   1  1月  5  2005 /dev/ttyC1
crw--w----    1 root     root       3, 210 11月 15 11:14 /dev/ttyc2
crw-rw----    1 root     uucp      19,   2  1月  5  2005 /dev/ttyC2
....

我如何可以得到没有大写字母的设备呢?
谢谢各位大侠了

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2005-11-15 17:13 |只看该作者

  1. ll /dev/tty[!A-Z]*
复制代码

论坛徽章:
0
3 [报告]
发表于 2005-11-15 17:18 |只看该作者

回复 2楼 寂寞烈火 的帖子

试过了不行啊!只列出了38个设备,正确的应该有200多个

论坛徽章:
84
每日论坛发贴之星
日期:2015-12-29 06:20:00每日论坛发贴之星
日期:2016-01-16 06:20:00每周论坛发贴之星
日期:2016-01-17 22:22:00程序设计版块每日发帖之星
日期:2016-01-20 06:20:00每日论坛发贴之星
日期:2016-01-20 06:20:00程序设计版块每日发帖之星
日期:2016-01-21 06:20:00每日论坛发贴之星
日期:2016-01-21 06:20:00程序设计版块每日发帖之星
日期:2016-01-23 06:20:00程序设计版块每日发帖之星
日期:2016-01-31 06:20:00数据库技术版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-14 06:20:00
4 [报告]
发表于 2005-11-16 09:52 |只看该作者
我试了一下,[a-z]确实不行.但不知道为什么.
那就用这个吧, (POSIX Character Classes)POSIX标准都支持的.
# ll /dev/tty[:lower:]?


[:alnum:] matches alphabetic or numeric characters. This is equivalent to A-Za-z0-9.

[:alpha:] matches alphabetic characters. This is equivalent to A-Za-z.

[:blank:] matches a space or a tab.

[:cntrl:] matches control characters.

[:digit:] matches (decimal) digits. This is equivalent to 0-9.

[:graph:] (graphic printable characters). Matches characters in the range of ASCII 33 - 126. This is the same as [:print:], below, but excluding the space character.

[:lower:] matches lowercase alphabetic characters. This is equivalent to a-z.

[:print:] (printable characters). Matches characters in the range of ASCII 32 - 126. This is the same as [:graph:], above, but adding the space character.

[:space:] matches whitespace characters (space and horizontal tab).

[:upper:] matches uppercase alphabetic characters. This is equivalent to A-Z.

[digit:] matches hexadecimal digits. This is equivalent to 0-9A-Fa-f

论坛徽章:
84
每日论坛发贴之星
日期:2015-12-29 06:20:00每日论坛发贴之星
日期:2016-01-16 06:20:00每周论坛发贴之星
日期:2016-01-17 22:22:00程序设计版块每日发帖之星
日期:2016-01-20 06:20:00每日论坛发贴之星
日期:2016-01-20 06:20:00程序设计版块每日发帖之星
日期:2016-01-21 06:20:00每日论坛发贴之星
日期:2016-01-21 06:20:00程序设计版块每日发帖之星
日期:2016-01-23 06:20:00程序设计版块每日发帖之星
日期:2016-01-31 06:20:00数据库技术版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-14 06:20:00
5 [报告]
发表于 2005-11-16 09:59 |只看该作者

补充一下

补充,官方建议:
POSIX character classes generally require quoting or double brackets  ([[ ]]).

for example:

bash$ grep [[:digit:]] test.file
abc=723

bash$ ls -l ?[[:digit:]][[:digit:]]?
-rw-rw-r--    1 bozo  bozo         0 Aug 21 14:47 a33b

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
6 [报告]
发表于 2005-11-16 10:05 |只看该作者
ll然后使用grep来过滤好多了。

论坛徽章:
0
7 [报告]
发表于 2005-11-18 13:19 |只看该作者

感谢圣骑士

ll /dev/tty[[:lower:]]? 是正解

在这里可以和这么多的高手探讨问题真是太幸福了。

论坛徽章:
0
8 [报告]
发表于 2005-11-18 13:48 |只看该作者
glob在很大程度上取决于你的locale,如果你的locale不是C,那么字母的顺序可能和你想的不一样,比如LANG=en_US的时候是这样的:

aAbB.......zZ。所以[a-z]匹配的是ttya?, ttyA?, ... , ttyz?。唯一被排除的是ttyZ?。

两个解决方法,一个是用[[:lower:]],意思明确。或者:


  1. LANG=C ; ll tty[a-z]?
复制代码

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
9 [报告]
发表于 2005-11-18 14:08 |只看该作者
/dev#ll tty[!A-Z]*|wc -l
    288
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP