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/ 前言 在网络传输.设备之间转存.复制大文件等时,可 ...
随机推荐
- vue 监听对象里的特定数据
vue 监听对象里的特定数据变化 通常是这样写的,只能监听某一个特定数据 watch: { params: function(val) { console.log(val) this.$ajax.g ...
- 桌面程序开发入门(WinForm with C#)
1.使用Visual Studio 2013创建新项目 2.创建一个主窗体和4个子窗体 3.创建一个数据库.一个表.一个存储过程 4.在配置文件里添加数据库连接字符串 5.真正的编码工作. 第一步:创 ...
- 如何在.Net Core MVC中为动态表单开启客户端验证
非Core中的请参照: MVC的验证 jquery.validate.unobtrusive mvc验证jquery.unobtrusive-ajax 参照向动态表单增加验证 页面引入相关JS: &l ...
- 百度地图VUE-REACT
针对目前火热的前端开发框架React和VUE,为了方便使用这两种框架开发的同学们能更好的使用百度地图JSAPI,我们分别开源了基于百度地图JSAPI的React组件库和VUE组件库.VUE:https ...
- Ionic APP 热更新
开门见山,本文主题:cordova-hot-code-push 作用:cordova热更新插件,提供了在应用程序中对基于Web的内容进行自动更新的功能. GitHub地址:https://github ...
- [转]HTTP请求中的form data和request payload的区别
本文转自:http://www.cnblogs.com/btgyoyo/p/6141480.html jQuery的ajax方法和post方法分别发送请求,在后台Servlet进行处理时结果是不一样的 ...
- 用面向对象的编程方式实现飞机大战小游戏,java版
概述 本文将使用java语言以面向对象的编程方式一步一步实现飞机大战这个小游戏 本篇文章仅供参考,如有写的不好的地方或者各位读者哪里没看懂可以在评论区给我留言 或者邮件8274551712@qq.co ...
- fontforge制作自定义字体及在手机上应用举例——张鑫旭
一.看似无关紧要的事件背景 之所以花时间折腾fontforge这个软件,去制作什么自定义的字体是有原因滴. 之前提过,最近我抽空将公司的手机软件HTML5网页化.期间碰到这么一个问题,页面低栏上的电话 ...
- Yii中文乱码 解决
需要将config/main.php改成utf-8编码即可
- 高级功能:很有用的javascript自定义事件
之前写了篇文章<原生javascript实现类似jquery on方法的行为监听>比较浅显,能够简单的使用场景. 这里的自定义事件指的是区别javascript默认的与DOM交互的事件,比 ...