模式匹配

正则表达式

ε祈祈猫儿з 提交于 2020-01-01 12:46:34
四、文件名通配 文件名通配 gloabbing * 匹配任意长度的字符,可以是空字符串 ? 匹配一个字符,但不可为空 \ 可以做转义使用,也可作为续行符号 [] 匹配一个序列中的任意一个 [0-9][a-z][a-zA-Z] 选择其中的任意一个 [^] 取反的意思 [^0-9] 除了0-9之外的任意单个字符 [[:space:]] 所有的空白字符 [[:punct:]] 标点符号 [[:lower:]] 小写字母 也可用 [a-z]表示 [[:upper:]] 大写字母 也可用[A-Z]表示 [[:alpha:]] 大小写字母 也可用[a-zA-Z]表示 [[:digit:]] 数字 也可用[0-9]表示 [[:alnum:]] 数字和大小写字母 也可用[0-9a-zA-Z]表示 五、正则表达式 基本正则表达式: . 匹配任意单个字符 [^] 匹配指定范围外的任意单个字符 不需要转义 [] 匹配指定范围内的任意单个字符,不需要转义 ^ 匹配行首 $ 匹配行尾 \? 匹配前面出现字符的0个或1个字符 * 匹配前面的字符任意次数 .* 匹配任意长度的任意字符 \{m,n\} 匹配其前面的字符至少m次,至多n次,需要转义 \(\) 后向引用 \< = \b 其后面的任意字符必须作为单词首部出现 \> = \b 其前面的任意字符必须作为单词的尾巴出现 ^$空白行 扩展正则表达式: 字符匹配

shell学习5.sed和awk

大城市里の小女人 提交于 2019-12-30 19:07:10
文本处理三剑客 在 Shell 下使用这些正则表达式处理文本最多的命令有下面几个工具: 命令 描述 grep 默认不支持扩展表达式,加-E 选项开启 ERE。如果不加-E 使用花括号要加转义符\{\} egrep 支持基础和扩展表达式 awk 支持 egrep 所有的正则表达式 sed 默认不支持扩展表达式,加-r 选项开启 ERE。如果不加-r 使用花括号要加转义符\{\} sed详解 1. 前言 我们都知道,在Linux中一切皆文件,比如配置文件,日志文件,启动文件等等。如果我们相对这些文件进行一些编辑查询等操作时,我们可能会想到一些vi,vim,cat,more等命令。但是这些命令效率不高,而在linux中有三种工具:顶配awk,中配sed,标配grep。使用这些工具,我们能够在达到同样效果的前提下节省大量的重复性工作,提高效率。 文件内容可以是来自文件,也可以直接来自键盘或者管道等标准输入,最后的结果默认情况下是显示到终端的屏幕上,但是也可以输出到文件中。 编辑文件也是这样,以前我们修改一个配置文件,需要移动光标到某一行,然后添加点文字,然后又移动光标到另一行,注释点东西…….可能修改一个配置文件下来需要花费数十分钟,还有可能改错了配置文件,又得返工。这还是一个配置文件,如果数十个数百个呢?因此当你学会了sed命令,你会发现利用它处理文件中的一系列修改是很有用的

awk命令简单实用

若如初见. 提交于 2019-12-30 18:56:21
把要分析的文件放到cywin 目录"home/{当前登录用户名}/" 下,这个好像是可以配置。 分析日志的页面访问,按次数排序,次数多的在最后 awk '{print $4}' click.log | sort | uniq -c| sort -n 所有文件被访问的次数. awk '{print $7}' access_log|sort |uniq -c|sort -nr 所有访问源IP的链接次数. awk '{print $1}' access_log | sort |uniq -c |sort -nr cat access_log.2007-01-19.log | awk -F" " '{print $1}' | sort |uniq -c | sort -rn awk -F" " '{print $1}' #用空格分隔,打印第一列数据 sort|uniq -c # 排序并过滤重复,-c 输出重复次数 sort –rn # 按-n数字进行-r反向排序 ----------------以下没实验过-可参考--------------------------------------------------------- ----------------------------------------------------------------------------------

Linux 三剑客 -- awk sed grep

吃可爱长大的小学妹 提交于 2019-12-30 18:51:30
本文由本人收集整理自互联网供自己与网友参考,参考文章均已列出,如有侵权,请告知! 顶配awk,中配sed,标配grep awk 参考 sed 参考 grep 参考 在线查看linux命令速记表 appropos , history two long didn't read 整理 我们都知道,在Linux中一切皆文件,比如配置文件,日志文件,启动文件等等。如果我们相对这些文件进行一些编辑查询等操作时,我们可能会想到一些vi,vim,cat,more等命令。但是这些命令效率不高,这就好比一块空地准备搭建房子,请了10个师傅拿着铁锹挖地基,花了一个月的时间才挖完,而另外一块空地则请了个挖土机,三下五除二就搞定了,这就是效率。而在linux中的“挖土机”有三种型号:顶配awk,中配sed,标配grep。使用这些工具,我们能够在达到同样效果的前提下节省大量的重复性工作,提高效率。 接下来我们就看一下sed的详细说明 sed 是Stream Editor(字符流编辑器)的缩写,简称流编辑器。什么是流?大家可以想象以下流水线,sed就像一个车间一样,文件中的每行字符都是原料,运到sed车间,然后经过一系列的加工处理,最后从流水线下来就变成货物了。 [root@master ~]# dirname /etc/rc.d/init.d/functions /etc/rc.d/init.d [root

awk.sed.grep三剑客详解

我怕爱的太早我们不能终老 提交于 2019-12-30 18:51:17
事前准备 1.主机 node1:172.16.133.11 2.作为实验的文件 /etc/passwd /etc/fstab qinqin cp /etc/passwd . cp /etc/fstab . 一、grep用法详解 1.grep是干什么的 grep的全名是Galobal research Regular Expression and Pringtiong,即搜索正则表达式,也就是说grep简单来讲就是用来搜索匹配字符的 2.grep分类 grep有基本正则表达式和扩展正则表达式之分,不过她们的作用域和使用方法大同小异 3.grep用法及选项 首先普通的用法:grep [option] 'PATTERN' file file2... 例:grep 'root' /etc/passwd搜索在/etc/passwd中的root字符的那一行 选项: --color将搜索到的字符予以颜色加以标识,易于辨认 grep --color 'root' passwd -v取反,即除了匹配到的行其余都显示 grep -v 'root' passwd -i忽略大小写进行匹配 grep -i 'label' fstab -o仅显示匹配到的字符串 grep -o 'root' passwd 单独显示本机ip地址和子网掩码 ifconfig | grep -E -o --color "\<([1

less匹配模式

≡放荡痞女 提交于 2019-12-30 14:29:45
文章目录 less匹配模式: 函数+运算 参考: https://blog.csdn.net/yuhui01/category_7781547.html less匹配模式: 参考:https://blog.csdn.net/YUHUI01/article/details/80947259 1、根据传参的值不同进行匹配 . a ( @_ , @z ) { // @ _ : 所有情况都会执行的公共模式 font-size : 12px ; } . a ( right, @m ) { // 只有是right的时候,会执行 margin-right : @m ; } . a ( left, @m ) { // 只有是left的时候,会执行 margin-left : @m ; } // 调用 .x { . a ( right, 20px ) } .y { . a ( left, 15px ) } 2、根据传参的个数不同进行匹配 . test ( @width , @color ) { //less color : @color ; width : @width ; } ; . test ( @width ) { width : @width ; } @width : 200px ; @color : red ; div { . test ( @width , @color ) ; } //

JavaScript使用正则表达式

为君一笑 提交于 2019-12-30 08:58:24
正则表达式概述 在前面已经涉及了一些正则表达式的用法,现在将系统地学习正则表达式的语法和用途。正则表达式主要用于进行字符串的模式匹配,例如判断一个字符串是否符合指定格式等。例如在windows下搜索文件,可以用“*”或者“?”这样的通配符。在正则表达式的语法中,有更多这样的符号用于表示一个字符串的模式,表7.1列出了所有的特殊符号,它们也被称为元字符。 表7.1 正则表达式中的元字符 字 符 说 明 \ 将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,“n”匹配字符“n”。“\n”匹配换行符。序列“\\”匹配“\”,“\(”匹配“(” ^ 匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性,^ 还会与“\n”或“\r”之后的位置匹配 $ 匹配输入字符串结尾的位置。如果设置了 RegExp 对象的 Multiline 属性,$还会与“\n”或“\r”之前的位置匹配 * 零次或多次匹配前面的字符或子表达式。例如,zo* 匹配“z”和“zoo”。* 等效于{0,} + 一次或多次匹配前面的字符或子表达式。例如,“zo+”与“zo”和“zoo”匹配,但与“z”不匹配。+ 等效于 {1,} ? 零次或一次匹配前面的字符或子表达式。例如,“do(es)?”匹配“do”或“does”中的“do”。? 等效于 {0,1} {n} n是非负整数

{JS}JavaScript使用正则表达式

天涯浪子 提交于 2019-12-30 08:58:06
{JS}JavaScript使用正则表达式 {JS}JavaScript使用正则表达式 正则表达式概述 在 前面已经涉及了一些正则表达式的用法,现在将系统地学习正则表达式的语法和用途。正则表达式主要用于进行字符串的模式匹配,例如判断一个字符串是否符合指 定格式等。例如在windows下搜索文件,可以用“*”或者“?”这样的通配符。在正则表达式的语法中,有更多这样的符号用于表示一个字符串的模式,表 7.1列出了所有的特殊符号,它们也被称为元字符。 表7.1 正则表达式中的元字符 字 符 说 明 \ 将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,“n”匹配字符“n”。“\n”匹配换行符。序列“\\”匹配“\”,“\(”匹配“(” ^ 匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性,^ 还会与“\n”或“\r”之后的位置匹配 $ 匹配输入字符串结尾的位置。如果设置了 RegExp 对象的 Multiline 属性,$还会与“\n”或“\r”之前的位置匹配 * 零次或多次匹配前面的字符或子表达式。例如,zo* 匹配“z”和“zoo”。* 等效于{0,} + 一次或多次匹配前面的字符或子表达式。例如,“zo+”与“zo”和“zoo”匹配,但与“z”不匹配。+ 等效于 {1,} ? 零次或一次匹配前面的字符或子表达式。例如,“do(es)?

资料: JavaScript使用正则表达式

心已入冬 提交于 2019-12-30 08:57:46
JavaScript使用正则表达式 正则表达式概述 在 前面已经涉及了一些正则表达式的用法,现在将系统地学习正则表达式的语法和用途。正则表达式主要用于进行字符串的模式匹配,例如判断一个字符串是否符合指 定格式等。例如在windows下搜索文件,可以用“*”或者“?”这样的通配符。在正则表达式的语法中,有更多这样的符号用于表示一个字符串的模式,表 7.1列出了所有的特殊符号,它们也被称为元字符。 表7.1 正则表达式中的元字符 字 符 说 明 \ 将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,“n”匹配字符“n”。“\n”匹配换行符。序列“\\”匹配“\”,“\(”匹配“(” ^ 匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性,^ 还会与“\n”或“\r”之后的位置匹配 $ 匹配输入字符串结尾的位置。如果设置了 RegExp 对象的 Multiline 属性,$还会与“\n”或“\r”之前的位置匹配 * 零次或多次匹配前面的字符或子表达式。例如,zo* 匹配“z”和“zoo”。* 等效于{0,} + 一次或多次匹配前面的字符或子表达式。例如,“zo+”与“zo”和“zoo”匹配,但与“z”不匹配。+ 等效于 {1,} ? 零次或一次匹配前面的字符或子表达式。例如,“do(es)?”匹配“do”或“does”中的“do”。? 等效于

JavaScript使用正则表达

五迷三道 提交于 2019-12-30 08:57:29
JavaScript使用正则表达 正则表达式概述 在前面已经涉及了一些正则表达式的用法,现在将系统地学习正则表达式的语法和 用途。正则表达式主要用于进行字符串的模式匹配,例如判断一个字符串是否符合指定格式等。例如在windows下搜索文件,可以用“*”或者“?”这样的 通配符。在正则表达式的语法中,有更多这样的符号用于表示一个字符串的模式,表7.1列出了所有的特殊符号,它们也被称为元字符。 使用这些元字符,可以表示具有特定模式的字符串,例如: /^\s*$/:匹配一个空行。 /\d{2}-\d{5}/:匹配由两位数字、一个连字符再加5位数字组成的ID号。 /<\s* (\S+)(\s[^>]*)?>[\s\S]*<\s*\/\1\s*>/:匹配HTML标记。 像这种以斜杠开始和结尾的字符序列称为正则表达式,在JavaScript中可以很方便地使用这些表达式。 使用RegExp对象执行字符串模式匹配 RegExp是JavaScript中的正则表达式对象,利用它可以完成字符串匹配的各种操作。获得一个RegExp对象可以有两种方式: var objRegExp=/pattern*/[flag] //或者 var objRegExp=new RegExp("pattern" [,"flag"]); 其中pattern是要匹配的模式,flag表示搜索模式,有两个可选参数,分别是g和i