Linux 正则表达式详解
正则表达式(REGULAR):为处理大量的字符串而定义的一套规则和方法,为了处理大量字符串而生
常见命令参数
基础正则表达式
. :有且只有任意一个字符(包括空格)
* :重复前面任意0或者多个字符
.*:匹配任意字符==>所有,包括空格
\ :转义字符,让有意义的字符,显示原型 \$ --> $本身
^ :^d 以d开头的文件
$ :/$ 以/结尾的文体
^$:表示空行 grep -vn "^$" h.txt -->不显示空行 -n 显示行号
sed -r 's#(.*) fff#I am \1#g' h.txt 仅仅取每一行的()里面的东西
r==reqular
[abc] 匹配字符集内的任意一个字符 [0-9]匹配0-9 [a-z] a-z
[^abc] 不匹配字符集内的任意字符,相当于取反
a\{n,m} 重复前一个字母,n到m次
grep "0\{2\}" h.txt 重复0 2次
==> egrep "0{2}" h.txt
==> grep -E "0{2}" h.txt
\{n,\} 重复至少n次
\{,m\} 重复之多m次
注意:egrep ,sed -r过滤一般特殊字符可以不转义
\w : 只打印字母
grep "\w" h.txt --> a b c d e f g h i
\W : 打印非字母
\b :匹配单词的定界符
grep "\bhello\b" h.txt
\d : 表示数字
常用的命令展示
扩展正则表达
扩展正则表达式:多用于 egrep,grep -E
1. + 重复一个或者一个以上的字符
grep -Eo "go+d" h.txt --> god good
2. ?重复0个或者一个 比 . 的范围大
grep -Eo "g?d" h.txt --> gd, d
grep -Eo "go?d" h.txt --> gd god
3. | 查询多个符合的字符串
grep -Eo "hello|world" --> hello world
4. ()找出"用户组"字符串
egrep "g(la|oo)d" h.txt --> good glad
关于正则的一些小知识
1.Linux中适用于:grep,egrep,awk,sed,
2.区别通配符和正则 例如 ls *.log这里的 * 表示 所有的
3.Linux一般以行为单位
4.注意字符集 export LC_ALL=C
5.可以在 man grep/sed 过滤REGULAR 查看更多正则
Linux 正则表达式详解的更多相关文章
- (转)linux正则表达式详解
linux正则表达式详解 http://blog.csdn.net/wuliowen/article/details/64131815 1:什么是正则表达式: 简单的说,正则表达式就是处理字符串的方法 ...
- [转]Linux 正则表达式详解
转自:http://www.jb51.net/article/42989.htm 一.linux文本查找命令 在说linux正规表达式之前,还介绍下linux中查找文本文件常用的三个命令: 1.gre ...
- Linux文本处理三剑客之grep及正则表达式详解
Linux文本处理三剑客之grep及正则表达式详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Linux文本处理三剑客概述 grep: 全称:"Global se ...
- Linux命令详解之—tail命令
tail命令也是一个非常常用的文件查看类的命令,今天就为大家介绍下Linux tail命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux tail命令主要用来从指定点开始将文 ...
- JavaScript正则表达式详解(一)正则表达式入门
JavaScript正则表达式是很多JavaScript开发人员比较头疼的事情,也很多人不愿意学习,只是必要的时候上网查一下就可以啦~本文中详细的把JavaScript正则表达式的用法进行了列表,希望 ...
- JavaScript正则表达式详解(二)JavaScript中正则表达式函数详解
二.JavaScript中正则表达式函数详解(exec, test, match, replace, search, split) 1.使用正则表达式的方法去匹配查找字符串 1.1. exec方法详解 ...
- Linux命令详解之—less命令
Linux下还有一个与more命令非常类似的命令--less命令,相比于more命令,less命令更加灵活强大一些,今天就给大家介绍下Linux下的less命令. 更多Linux命令详情请看:Linu ...
- Linux命令详解之—more命令
Linux more命令同cat命令一样,多用来查看文件内容,本文就为大家介绍下Linux more命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux的more命令类似 ca ...
- 【转】linux命令详解:md5sum命令
[转]linux命令详解:md5sum命令 转自:http://blog.itpub.net/29320885/viewspace-1710218/ 前言 在网络传输.设备之间转存.复制大文件等时,可 ...
随机推荐
- 使用httpClient处理get请求或post请求
另外一个版本: http://www.cnblogs.com/wenbronk/p/6671928.html 在java代码中调用http请求, 并将返回的参数进行处理 get请求: public s ...
- C#的Lambda表达式嵌套例子
/* *curStatsResult是List<string>类型, *x.GetAllOsVersion()结果是string[]类型, *这里是先使用SelectMany()返回一个结 ...
- redis集群与分片(1)-redis服务器集群、客户端分片
下面是来自知乎大神的一段说明,个人觉得非常清晰,就收藏了. 为什么集群? 通常,为了提高网站响应速度,总是把热点数据保存在内存中而不是直接从后端数据库中读取.Redis是一个很好的Cache工具.大型 ...
- JS的可枚举性
在学习ES6的过程中,涉及到遍历方法时,提到过可枚举性,且多种遍历方法都与可枚举性相关.本章节,将总结这些遍历方法的可枚举性,并在必要的部分,给出对比实例. 一.设置属性的可枚举性 在上一文章 ...
- Struts2和MVC的简单整合
1.首先还是创建一个简单Maven的项目,导入jar包, <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:x ...
- SpringMVC中数据转换
SpringMVC中接收到的数据都是String形式,然后再根据反射机制将String转换成对应的类型.如果此时想接收一个Date类型,那么我们可以定义一个转换器来完成. 例如,我们有下面的Emp类: ...
- 零基础学C#算法(零基础学算法——C#版)
今天本人正在看算法方面的书.作为高中数学忘得差不多的渣渣,实在无力.无奈找了本书,c语言写的,哎.我就把其中代码翻译成C#版好了.此坑能否填平,看我耐性和网络支持条件吧.有生之年能看完的话我会把整个项 ...
- oracle数据库逐步学习总结【基础二】
原创作品,转载请在文字开头明显位置注明出处:https://www.cnblogs.com/sunshine5683/p/10067872.html 接着上一篇,继续总结! 五.oracle表管理 首 ...
- Hive,HANA可视化客户端工具
目前市面上的Hive可视化客户端工具,大都是C/S模式的,安装使用都不是太方便,目前有一款基于WEB的可视化工具TreeSoft,通过浏览器就可以访问使用了,并且可以同时管理.维护.监控MySQL,O ...
- Glide填坑指南
一.前言:再优秀的开源库都有坑要填 手上的项目使用的图片加载框架是:Universal-Image-Loader+业务需要定制化的一些代码.Universal-Image-Loader 这个框架是一个 ...