OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

传统字符范围

如果我们想构建一个正则表达式来查找列表中的每个文件,以大写字母开头,我们可以这样做:



[我@linuxbox ~]$ grep -h '^[ABCDEFGHIJKLMNOPQRSTUVWXZY]' dirlist*.txt

[我@linuxbox ~]$ grep -h '^[ABCDEFGHIJKLMNOPQRSTUVWXZY]' dirlist*.txt


这只是将所有 26 个大写字母放在括号表达式中的问题。 但是所有打字的想法都令人深感不安,所以还有另一种方式:



[我@linuxbox ~]$ grep -h '^[AZ]' 目录列表*.txt

制造商

控制面板获取

头柱 X X11

Xorg 软盘

网络管理器网络管理器调度器

[我@linuxbox ~]$ grep -h '^[AZ]' 目录列表*.txt

制造商

控制面板获取

头柱 X X11

Xorg 软盘

网络管理器网络管理器调度器


通过使用三个字符范围,我们可以缩写 26 个字母。 任何范围的特性 -


可以通过这种方式表示包含多个范围,例如匹配所有以字母和数字开头的文件名的表达式:



[我@linuxbox ~]$ grep -h '^[A-Za-z0-9]' 目录列表*.txt

[我@linuxbox ~]$ grep -h '^[A-Za-z0-9]' 目录列表*.txt


在字符范围中,我们看到破折号被特殊对待,那么我们实际上如何在括号表达式中包含破折号呢? 通过使其成为表达式中的第一个字符。 考虑这两个例子:



[我@linuxbox ~]$ grep -h '[AZ]' 目录列表*.txt

[我@linuxbox ~]$ grep -h '[AZ]' 目录列表*.txt


这将匹配每个包含大写字母的文件名。 尽管:



[我@linuxbox ~]$ grep -h '[-AZ]' 目录列表*.txt

[我@linuxbox ~]$ grep -h '[-AZ]' 目录列表*.txt


将匹配包含破折号、大写“A”或大写“Z”的每个文件名。


OnWorks 的顶级操作系统云计算: