ubuntu 命令行上的正则表达式/模式匹配

sim*_*ame 2 bash

我注意到有很多庆典实用工具,比如lscpmvgrep使用正则表达式和模式匹配。例如像 * [] {} 等符号。

但是,我发现这在某些方面与我在 Internet 上找到的其他正则表达式教程有所不同。这些实用程序是否有特定的标准或某处的快捷方式的完整列表?

谢谢

Ant*_*gan 5

虽然类似,但您所指的通配符模式不是正则表达式;它们是glob 模式,在这种情况下,是shell 模式。它们由外壳本身扩展-不是如命令lscp等我想弄清楚,这些命令实际上不是“bash的事业”; 它们是可以由任何shell执行的程序。

当在 shell 中键入命令时,shell 会解析标记(单词),它所做的一件事就是将glob 模式扩展为适当的文件名。在最常见的情况下,这些文件名由 shell 提供,作为正在调用的命令的参数列表。

标准化

这些 shell 模式已在POSIX 规范中针对类 Unix 操作系统进行了标准化:模式匹配表示法

一些 shell(Bash 和 Korn shell)进一步扩展这些模式以实现扩展的 globs。有关更多信息,请参阅Greg 的 Wiki上的相关部分。