”*“在正则表达式和通配符的应用

1. sed -n ‘/^12:3*/,/^13:3*/p‘  a.log
这个截取的时间段是12:00到13:00(刚开始我以为这个截取的时间段是12点30到13点30的,因为我把*当成通配符了,q其实在sed 和awk中它是正则表达式)
2.sed -n ‘/^12:30*/,/^13:30*/p ‘ a.log
这个截取的时间段是12:30到13:30

比如像awk,sed,等,是针对文件的内容的。都是用正则表达式

而通配符多用在文件名上,比如查找find,ls,cp,等等

*在通配符和正则表达式中有其不一样的地方,在通配符中*可以匹配任意的0个或多个字符,而在正则表达式中他是重复之前的一个或者多个字符,不能独立使用的。比如通配符可以用*来匹配任意字符,而正则表达式不行,他只匹配任意长度的前面的字符。

就这个问题让我纠结了好一阵。

时间: 2024-12-25 08:10:09

”*“在正则表达式和通配符的应用的相关文章

[Shell]正则表达式与通配符

------------------------------------------------------------------------------------- 正则表达式与通配符: 1. 正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配.grep.awk.sed等命令可以支持正则表达式. 2. 通配符用来匹配符合条件的文件名,通配符是完全匹配.ls.find.cp这些命令不支持正则表达式,所以只能使用shell自己的通配符来进行匹配. 基础正则表达式: *    前一个字符

问题:关于正则表达式和通配符的问题,求解答

遇到一个关于通配符的问题.在shell下使用通配符匹配时,只有tmp被匹配出来了,其他文件名都要用正则,实在不知道为啥,谁知道,求解? 问题:关于正则表达式和通配符的问题,求解答

Shell学习之结合正则表达式与通配符的使用(五)

Shell学习之结合正则表达式与通配符的使用 目录 通配符 正则表达式与通配符 通配符 通配符的使用 正则表达式 正则表达式 正则表达式的使用 通配符 正则表达式与通配符 正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配.grep.awk.sed等命令可以支持正则表达式. 通配符用来匹配符合条件的文件名,通配符是完全匹配.ls.find.cp这些命令不支持正则表达式,所以只能使用shell自己的通配符来就行匹配. 通配符 符号 作用 * 匹配任何字符串/文本,包括空字符串:*代表任意字

正则表达式和通配符简介

通配符和正则表达式 1.通配符(wild-card pattern)一般是用于匹配文件名,它是由shell解析的,一般用于find(文件搜索).ls(目录).cp(复制).mv(移动)等. shell常见的通配符有 * 0或多个字符 ? 匹配任意一个字符 ~ 当前用户家目录 ~+当前工作目录 ~-前一个工作目录 [list]匹配list中的任意一个单一字符 [^list]匹配除list中的任意单一字符[0-9]或[:digit:]数字0-9匹配 [a-z]或[:lower:]小写字母a-z匹配

正则表达式和通配符的区别(转)

Explain 1: 1.正则表达式是用来匹配字符串的,这个就不解释了 2.通配符是用来通配的,也就是shell在做Pathname Expansion时用到的 Explain 2: 通配符,说白了一般只用于文件名匹配, 它是由shell解析的.所谓的系统level的概念非常含糊,什么是系统level的?我们知道shell是一个命令解释器,它是内核的外壳,用于完成 操作系统使用者与内核的沟通,因此,通配符实际上就是一个shell解释器去解析的符号,它的特殊涵义是由shell这个命令解释器赋予的.

正则表达式和通配符

1基础正则表达式 . 一个任次意字符PIPE\? 匹配前面的字符 0或者一次用这个来一个路径的基名 把管道左边的命令给到右边grep-e 支持拓展的正则表达式匹配到的 字符-o只显示 [:alpha:] a-zA-z [[:alpha:]] [a-zA-z] 中任意一个字母 匹配前面的任意字母任意次 这里特别注意的是 如果中括号[]内有很多字母次数的意思是匹配的任意字母之和有可能是 [asd] 比如这里表示 a匹配的s的和d匹配的次数总和为 tr 命令 删除或者转换-d 删除字符$ 正则表达式

Linux 正则表达式和通配符 以及Python断言

通配符 通配符通常用来匹配文件.目录 * 匹配任意长度的任意字符,可以是0个 ? 匹配任意单个字符,必须是1个 [ ] 匹配指定字符范围内的任意单个字符 [a-z,A-Z,0-9] 匹配所有数字字母,可以不加逗号 [a-z] 表示取a..z的所有字符 [A-Z] 表示A,B.....Z [a-Z] 表示所有大小写字母 [:upper:] 所有大写字母 [:lower:] 所有小写字母 [:alpha:] 所有字母,大小写 [:digit:] 所有数字 [:alnum:] 所有数字和字母 [:sp

linux通配符与正则表达式

通配符 *  任意字符,可重复多次 ? 任意字符,重复一次 [] 代表一个字符 举例: [a,b,c] 表示abc中任意一个 通配符的作用是用来匹配文件名的 正则表达式 正则表达式是在文件中匹配符合条件的字符串的 ls find cp是不支持正则表达式的 但是grep awk sed支持正则表达式 [[email protected] test]# touch aa [[email protected] test]# touch aab aabb [[email protected] test]

通配符和正则表达式-grep,egrep,fgrep

通配符和正则表达式-grep,egrep,fgrep 通配符和正则表达式,通配符用于文件名匹配,命令支持ls,cp,rm等;正则为通用匹配,命令支持grep,awk,sed,vi,find等.文本过滤工具grep,egrep,fgrep 通配符 *  匹配零个或多个任意字符 ?  匹配单个任意字符 [] 匹配指定范围内的一个字符,[]括号中的 字符间隔符 可以省略,如,\=:等等.举例[1:2=3,5\7] = [12357],也推荐使用这种省略写法作为标准 ^  取反,表示非.注意:非数字即包