通配符和正则表达式区别

通配符和正则表达式区别

在Linux中,大多数命令行工具本身并不直接支持正则表达式。
通配符是大部分命令都支持的,用于查找文件或目录,而正则表达式是通过三剑客命令在文件(数据流)中过滤内容的。

  • 通配符是shell自带的用于匹配文件名的工具,多用在文件名上,比如查找find,ls,cp 等等。
  • 正则表达式则需要特定命令的支持才可以使用,如:grep、sed和awk(号称Linux三剑客)、vi/vim、perl等,这些都是处理文本的工具。
  • 其次,shell对通配符与正则表达式的处理也有不同,“ ”内一般为通配符(是shell本身提取处理),‘ ’内一般为正则表达式(shell会将其中的数据传递给其它命令处理)。

通配符

正则表达式

  • 基本正则表达式 (BRE)

支持工具 grep ,egrep,sed,awk
用来匹配字符、匹配次数、位置锚定

  • 扩展正则表达式 (ERE)

支持工具 egrep , grep -E , awk , sed -r
主要用来匹配次数

汇总


posted @ 2024-08-06 16:48  *一炁化三清*  阅读(161)  评论(0编辑  收藏  举报