正则表达式(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 : 表示数字

常用的命令展示

Linux grep/egrep命令详解

Linux sed命令详解

Linux awk命令详解

扩展正则表达

扩展正则表达式:多用于 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 正则表达式详解的更多相关文章

  1. (转)linux正则表达式详解

    linux正则表达式详解 http://blog.csdn.net/wuliowen/article/details/64131815 1:什么是正则表达式: 简单的说,正则表达式就是处理字符串的方法 ...

  2. [转]Linux 正则表达式详解

    转自:http://www.jb51.net/article/42989.htm 一.linux文本查找命令 在说linux正规表达式之前,还介绍下linux中查找文本文件常用的三个命令: 1.gre ...

  3. Linux文本处理三剑客之grep及正则表达式详解

    Linux文本处理三剑客之grep及正则表达式详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Linux文本处理三剑客概述 grep: 全称:"Global se ...

  4. Linux命令详解之—tail命令

    tail命令也是一个非常常用的文件查看类的命令,今天就为大家介绍下Linux tail命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux tail命令主要用来从指定点开始将文 ...

  5. JavaScript正则表达式详解(一)正则表达式入门

    JavaScript正则表达式是很多JavaScript开发人员比较头疼的事情,也很多人不愿意学习,只是必要的时候上网查一下就可以啦~本文中详细的把JavaScript正则表达式的用法进行了列表,希望 ...

  6. JavaScript正则表达式详解(二)JavaScript中正则表达式函数详解

    二.JavaScript中正则表达式函数详解(exec, test, match, replace, search, split) 1.使用正则表达式的方法去匹配查找字符串 1.1. exec方法详解 ...

  7. Linux命令详解之—less命令

    Linux下还有一个与more命令非常类似的命令--less命令,相比于more命令,less命令更加灵活强大一些,今天就给大家介绍下Linux下的less命令. 更多Linux命令详情请看:Linu ...

  8. Linux命令详解之—more命令

    Linux more命令同cat命令一样,多用来查看文件内容,本文就为大家介绍下Linux more命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux的more命令类似 ca ...

  9. 【转】linux命令详解:md5sum命令

    [转]linux命令详解:md5sum命令 转自:http://blog.itpub.net/29320885/viewspace-1710218/ 前言 在网络传输.设备之间转存.复制大文件等时,可 ...

随机推荐

  1. php里的二进制安全

    二进制安全功能(binary-safe function)是指在一个二进制文件上所执行的不更改文件内容的功能或者操作.这能够保证文件不会因为某些操作而遭到损坏.二进制数据是按照一串0和 1的形式编码的 ...

  2. linux 查找删除找定文件

    find . -name "*.lastUpdated" -exec rm -rf {} \; 这个命令是find的基本用法,可以分两部分,find ~/ -name " ...

  3. ruby执行周期性任务

    1.前言      无论是用ruby做系统管理,还是用rails做web开发,都可能遇到周期性任务,它们按照一定时间周期(1小时,2天......)持续地触发.在ruby中,我认为一次性任务使用sid ...

  4. Rails 增加一个模型(model)

      之前我们已经看到用脚手架运行的model程序.现在是时候第二个model了. 第二个model用来处理post的评论. 7.1 新建一个模型 Rails模型使用一个单一的的名称,其相应的数据库表使 ...

  5. rails 过滤掉所有的html标签 strip_tags

      strip_tags(html) Strips all HTML tags from the html, including comments. This usesthe html-scanner ...

  6. Java对象的强、软、弱和虚引用+ReferenceQueue

    Java对象的强.软.弱和虚引用+ReferenceQueue 一.强引用(StrongReference) 强引用是使用最普遍的引用.如果一个对象具有强引用,那垃圾回收器绝不会回收它.当内存空间不足 ...

  7. Firebird reset SYSDBA password

    Firebird 重置超级管理员SYSDBA密码 首先登陆到服务器上(以下以Windows系统演示),命令行进入安装目录,我这里是 D:\-Installer\-Firebird\Firebird-3 ...

  8. HttpContext概念讲解

    一:HttpContext理论知识: 1:HttpContext类它对Request.Respose.Server等等都进行了封装,并保证在整个请求周期内都可以随时随地的调用:为继承 IHttpMod ...

  9. c#Image.FromFile图形加载异常处理

    public void UpdateImg(string picpath) { //更新至控件中 PnlImageShow.BackgroundImage = LoadImgPath(picpath) ...

  10. ef和mysql使用(二)--让mysql支持EntityFramework.Extended实现批量更新和删除

    我们都知道Entity Framework 中不能同时更新多条记录,但是一个老外写的扩展库可以实现此功能EntityFramework.Extended,但是如何是mysql数据库要怎么实现呢 首先实 ...