linux 三大利器 grep sed awk 正则表达式
正则表达式目标
正则表达式单字符:
特定字符
范围字符:单个字符[ ] :代表查找单个字符,括号内为字符范围
数字字符:[0-9],[259]
查找 0~9 和 2、5 、9 中的任意一个字符
小写字符:[a-z]
大写字符:[A-Z]
反向字符:[^0-9],[^0]
反向字^必须在 [ ]内才表示取反
任意字符:代表任何一个字符:‘.’
注意'[.]'和'\.'的区别:代表查找 . 本身这个字符
单字符小结:
- 特定字符 ‘ X’
- 范围字符 [ ] [^]
- 任意字符 .
正则表达式其他字符
- 边界字符: 头尾字符 ,注意以行作为边界而不是字符串
^ : ^luke 表示以luke这个单词开始的行,注意与[^]的区别;
luke@luke-virtual-machine:~$ grep '^root' passwd
root:x:0:0:root:/root:/bin/bash
$ : false$ 表示以false单词结尾的行
^$ : 表示空行
- 元字符(代表普通字符或特殊字符)
\w : 匹配任何字类字符,包括下划线([A-Za-z0-9])
\W : 匹配任何字类字符,包括下划线([A-Za-z0-9])
\b:代表单词的分隔
匹配一个单词边界,也就是指单词和空格间的位置,例如: 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的'er'。
正则表达字符组合
- 重复
* : 零次或多次匹配前面的字符或子表达式,字表达是用\(\)括起来,记住加反斜杠转义,\(se\)匹配se 0次或则多次;
+ : 一次或多次匹配前面的字符或子表达式;
?: 零次或一次匹配前面的字符或子表达式;
- 重复特定次数:{n,m} ,匹配前面的字符或子表达式 最少n次最多m次;
- 任意字符串的表示:.*
例如:^r.* ,表示以r开头的任意字符串
- 逻辑的表示
| : 'bin/\(false\|true\)' 逻辑或
实例:
匹配4~10位的QQ号: grep '^[0-9]\{4,10\}$' qq.txt
匹配15位到18位身份证号(支持带X) :^[1-9]([0-9]{13}|[0-9]{16})[0-9Xx]$
linux: grep '^[1-9]\([0-9])\{13\}\|[0-9]\{16\}\)[0-9Xx]$'
匹配密码,要求字母数字以及下划线组成 \w+
linux: '^\w\+$'
正则表达式总结:
linux 三大利器 grep sed awk 正则表达式的更多相关文章
- linux 三大利器 grep sed awk sed
sed主要内容和原理介绍 sed 流处理编辑器 sed一次处理一行内容,读入一行处理一行 sed不改变文件内容(除非重定向) sed 命令行格式 $ sed [options] 'command' f ...
- [svc]linux正则实战(grep/sed/awk)
企业实战: 过滤ip 过滤出第二行的 192.168.2.11. eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 ine ...
- linux 三剑客命令(grep,sed ,awk)
grep 命令 :强大的文本’搜索’工具 1.grep -n 'word' file_name 在file_name文件中找到word所在的所有行并显示.-n 为显示行号. 2 ...
- Linux三剑客grep/sed/awk
grep/sed/awk被称为linux的“三剑客” grep更适合单纯的查找或匹配文本: sed更适合编辑匹配到的文本: awk更适合格式化文本,对文本进行较复杂各式处理: Grep --color ...
- linux三剑客grep|sed|awk实践
最好先学习正则表达式的基本用法,以及正则表达式BREs,EREs,PREs的区别 此坑待填 grep sed awk
- Linux三剑客:grep、awk、sed
---------------------------------------------------------------------------------------------------- ...
- 【Linux】 字符串和文本处理工具 grep & sed & awk
Linux字符串&文本处理工具 因为用linux的时候主要用到的还是字符交互界面,所以对字符串的处理变得十分重要.这篇介绍三个常用的字符串处理工具,包括grep,sed和awk ■ grep ...
- Linux文本过滤命令grep、awk、sed
grep的使用: 一.grep一般格式: grep [选项] 基本正则表达式 [文件] 这里的正则表达式可以为字符串.在grep命令中输入字符串参数时,最好将其用双引号括起来.调用变量时也可以使用双引 ...
- Linux 正则表达式 vi, grep, sed, awk
1. vi 表示内容的元字符 模式 含义 . 匹配任意字符 [abc] 匹配方括号中的任意一个字符.可以使用-表示字符范围,如[a-z0-9]匹配小写字母和阿拉伯数字. [^abc] 在方 ...
随机推荐
- 配置MySQL接受远程登录连接
一 开放mysql mysql的配置文件在/etc/mysql/my.cnf文件内,里面有一行bind-address = 127.0.0.1表示只允许本地访问,将这行注释即可 # bind-addr ...
- 2-4 js基础-事件对象小结
var e=ev||event; e.cancelBubble=true; document.documentElement html document.body ...
- 去除inline-block之间的空白
做一个水平排列的导航通常有以下几种布局: 1.给一个浮动. 2.设置display为inline. 3.设置display为inline-block. 但要追求代码量最少的话,设置为inline元素或 ...
- Spring MVC 数据绑定流程分析
1. 数据绑定流程原理★ ① Spring MVC 主框架将 ServletRequest 对象及目标方法的入参实例传递给 WebDataBinderFactory 实例,以创建 Data ...
- JavaScript的原型链继承__propt__、prototype、constructor的理解、以及他们之间相互的关系。
回想自己已经工作了有一段时间了,但是自己对JavaScript的原型链.和继承的理解能力没有到位,最近他们彻底的整理并且复习了一遍. 本案例中部分文案来自网络和书籍,如有侵权请联系我,我只是把我的理解 ...
- 文件夹操作之判断是否存在(Directory)
Directory类用于操作文件夹,用于创建.移动和枚举目录和子目录的静态方法.DirectoryInfo类用于典型操作,如复制,移动,重命名,创建和删除目录.他们都可用于获取和设置相关属性或有关创建 ...
- 类class思维导图
- C# 之多线程(二)
一.确定多线程的结束时间,thread的IsAlive属性 在多个线程运行的背景下,了解线程什么时候结束,什么时候停止是很有必要的. 案例:老和尚念经计时,2本经书,2个和尚念,一人一本,不能撕破,最 ...
- java读取项目或包下面的属性文件方法
1.使用java.util.Properties类的load()方法 //文件在项目下.不是在包下!! InputStream in = new BufferedInputStream(newFile ...
- 11、Map、可变参数、Collections
Map接口 Map集合概述 *A:Map集合概述: 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同 a:Collection中的集合,元素 ...