Shell grep 和正则
在grep中正则有三种模式, 分别是基础(-G), 扩展(-E)和Perl(-P)模式
basic 模式
不支持\d, 支持\w \s \b.
?, +, {, |, (, and ) 在basic 模式中也失去了其在正则式中的特殊含义
如果想在basic 中使用这些特殊字符,可以用\来转义
# echo "- 2222-" |grep -o '[0-9]+'
null
# echo "- 2222-" |grep -o '[0-9]\+'
egrep 表示扩展模式, 实际上是grep -E 的别名
扩展模式不支持贪婪, \d, [\w]
# echo "- Aa2222-" |grep -oE '[\w]
输出为空.
同样扩展模式不支持捕获
- (?:X) 匹配但是非捕获
- pattern(?=X) 匹配但是非捕获, 向X前匹配
- (?<=X) pattern 匹配但是非捕获, 向X后匹配
- pattern(?!X) 与2相反, 表示pattern后面是非X
- (?<!X) pattern 与3相反, 表示pattern前面非X
Perl正则模式支持贪婪, 不支持(?:pattern)的非捕获模式
# echo "- 2222-" |grep -oP '[0-9]+?' #非贪婪模式 # echo "- 2222-" |grep -oP '[0-9]+' #贪婪模式
Shell grep 和正则的更多相关文章
- shell grep正则匹配汉字
Shell grep正则匹配中文 测试文本 demo_exe.c,内容如下,需要注意保存的编码格式,对输出到终端有影响: 我们中文操作系统ASNI默认是GBK的. #include<stdio. ...
- shell脚本之正则表达和文本处理(文本处理三剑客:1、grep 2、sed 3、awk)
文本处理三剑客:1.grep 2.sed 3.awk 一.grep:(过滤) grep的使用,主要的参数有: -n :显示行号:-o :只显示匹配的内容-q :静默模式,没有任何输出,得用e ...
- SHELL —— grep命令+正则表达式
一 什么是正则 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. 生活中处处都是正则: 比如我们描述:4条腿 你可能会想 ...
- grep中正则匹配的使用
如要匹配Computer或computer两个单词,可做如下操作: [Cc]mputer “.”允许匹配ASCII集中任意字符,或为字母,或为数字. 使用\{\}匹配模式结果出现的次数 匹配字母A出现 ...
- Linux篇---Grep和正则匹配
一.前述 Linux中正则匹配查找比较常用,所以分享一篇关于正则匹配和Grep结合的文章. 二.匹配规则 匹配操作符: \ 转义字符. ...
- linux shell grep/awk/sed 匹配tab
处理文件的命令实在是多, sed, awk, grep等.遇到了需要匹配tab的情况, 记录一下. 例子如下:找出文本中第一列是1的行. 文本a 解法1 : 直接使用正则表达式, ^表示开头, \t表 ...
- [Shell]grep命令
我是好文章的搬运工,原文来自ChinaUnix,博主scq2099yt,地址:http://blog.chinaunix.net/uid-22312037-id-4217835.html 一.基本用法 ...
- Linux中find命令与三剑客之grep和正则
昨日内容回顾 1.每个月的3号.5号和15号,且这天时周六时 执行 00 00 3,5,15 * 6 2.每天的3点到15点,每隔3分钟执行一次 */3 3-15 * * * 3.每周六早上2点半执行 ...
- Shell | grep with n following lines
'foo' sample.txt ➜ dex-method-counts git:(master) ./dex-method-counts ~/Downloads/n.apk | 'hui' hui: ...
随机推荐
- 用Python做SVD文档聚类---奇异值分解----文档相似性----LSI(潜在语义分析)
转载请注明出处:电子科技大学EClab——落叶花开http://www.cnblogs.com/nlp-yekai/p/3848528.html SVD,即奇异值分解,在自然语言处理中,用来做潜在语义 ...
- Gs_Class._BaseQueryWeb查询页面基类(aspx.net)
using System;using System.Data;using System.Configuration;using System.Collections;using System.Web; ...
- ios 3D Touch功能的实现
ios9中3D Touch功能是一个新的亮点,这个方便快捷的功能实现也比较简单,废话不多说直接上代码, 一.3D Touch功能添加分为两种(1).静态标签 (2).动态标签 (1).静态添加 这个方 ...
- hadoop操作
常用命令: https://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html ls命令 /usr/bin/hadoop/software/hadoop/ ...
- ABAP字符串操作 截取字符长度 取位数
ABAP字符串操作 ABAP對字串的操作方法與其他語言的操作有較大差別,以下是較常用的對字串操作的方法: 1. 字串的連接:CONCATENATEDATA: t1 TYPE c LENGTH 10 ...
- 10s后自动跳转
<div class="jf_register"> <h2>您好,欢迎光临<fmt:message key="b2cShowName&quo ...
- 12c windows auto installl
--config for oralce_envset ORACLE_HOME=c:\app\oracle\product\12.1.0\dbhome_1set ORACLE_SID=testuatse ...
- 3.Thread中的静态方法
1.currentThread() public class Thread14 extends Thread{ static { System.out.println("静态块的打印:&qu ...
- 大型网站技术架构 核心原理与案例分析 pdf
需要的小伙伴拿去,哈哈.百度云链接:https://pan.baidu.com/s/1hsuiM3q
- ACE Socket Wrapper Facade
ACE Socket Wrapper Facade 1:Socket API 1.1 IPC(进程间通信) IPC分为本地IPC(同一计算机上的不同进程)和远程IPC(网络互联的不同计算机),本地IP ...