通配符与正則表達式的差别

通配符是bash原生支持的语法,正則表達式是处理字符串的一种表示方式, 正則表達式须要支持的工具支持才干够

语系设置 : export LANG=C
grep alias 设置 : grep --color=auto

grep 的一些高级參数


grep [-A] [-B] '搜寻字符串' filename //同一时候输出之前的k行和之后的m行
-A : 后面可加数字,表示列出改行以及之后的n行
-B : 列出前面几行 

搜寻keyword假设中间使用正則表達式的话,则正則表達式部分须要加上[]
eg : grep '[a-z]oooo' filename

匹配行首 '^string' 可是 '[^s]string'则表示排除s这个字母
匹配行尾 'string$'
eg:排除凝视行,和空行
grep -v '^$' /etc/profile | grep -v -n '^[[:blank:]]*#'



sed 使用方法

sed [-nefr] [动作] sed能够直接在文件上进行操作
选项与參数:
-n :使用安静(silent)模式。 在一般 sed 的使用方法中,全部来自 STDIN
的数据一般都会被列出到萤幕上。但假设加上 -n 參数后,则仅仅有经过
sed 特殊处理的那一行(或者动作)才会被列出来。
-e :直接在命令列模式上进行 sed 的动作编辑;
-f :直接将 sed 的动作写在一个文件内, -f filename 则能够执行 filename 内的
sed 动作;
-r :sed 的动作支持的是延伸型正规表示法的语法。 (默认是基础正规表示法语法)
-i :直接改动读取的文件内容,而不是由萤幕输出。 动作说明: [n1[,n2]]function
n1, n2 :不见得会存在,一般代表『选择进行动作的行数』,举例来说,假设我的动作
是须要在 10 到 20 行之间进行的,则『 10,20[动作行为] 』 function 有底下这些咚咚:
a :新增。 a 的后面能够接字串,而这些字串会在新的一行出现(眼下的下一行)~
c :代替, c 的后面能够接字串。这些字串能够代替 n1,n2 之间的行!
d :删除,由于是删除啊,所以 d 后面通常不接不论什么咚咚。
i :插入。 i 的后面能够接字串,而这些字串会在新的一行出现(眼下的上一行);
p :列印。亦即将某个选择的数据印出。通常 p 会与參数 sed -n 一起执行~
s :代替,能够直接进行代替的工作哩!通常这个 s 的动作能够搭配
正规表示法!比如 1,20s/old/new/g 就是啦!

eg: 
    nl regular.txt | sed '2,5d' //删除第二到第五行 ,sed 后面的动作必需要使用''扩住

    nl regular | sed '2a add hello' 第二行后面添加数据

    nl regular | sed '2,5c change 2 to 5 line content' 替换2-5行的内容

    nl regular | sed -n '2,5p' 选定行打印出来


sed的查找与替换 sed 's/要被替换的字符串/新字符串/g'
    cat .bashrc | sed 's/#.*$//g' | sed 's/^$//g' |grep -n 'exp' //删除凝视行和空白行

     
sed -i 's/\.$/\!/g' regular  //直接改动文件


awk 好用的数据处理工具

适合小型数据处理

awk '条件类型1{动作1} 条件类型2{动作2} ...' filename

通配符



特殊正则

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvWW91TWVuZ0ppdVpodWlCYQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

正则


拓展正则




鸟书shell 学习笔记(二) shell中正則表達式相关的更多相关文章

  1. 轻松学习之Linux教程六 正則表達式具体解释

    本系列文章由@超人爱因斯坦出品.转载请注明出处. 作者:超人爱因斯坦    个人站点:http://www.hpw123.net          文章链接:http://hpw123.net/a/L ...

  2. JAVA中正則表達式总结

    昨天,我的朋友请教我正則表達式.我也好久没有写过正則表達式了,昨天刚好看了下如鹏网创始人杨中科老师关于正則表達式的解说.使我加深了正則表達式的印像.现我把他总结下: 很多语言,包含Perl.PHP.P ...

  3. JAVA中正則表達式总结(具体解释及用途)

    很多语言,包含Perl.PHP.Python.JavaScript和JScript,都支持用正則表達式处理文本,一些文本编辑器用正則表達式实现高级"搜索-替换"功能.所以JAVA语 ...

  4. C++11中正則表達式測试

    VC++2010已经支持regex了, 能够用来编译下述代码. #include <string> #include <regex> #include <iostream ...

  5. js中 正則表達式

    正則表達式使用具体解释 简单介绍 简单的说,正則表達式是一种能够用于模式匹配和替换的强有力的工具.其作用例如以下: 測试字符串的某个模式.比如,能够对一个输入字符串进行測试,看在该字符串是否存在一个电 ...

  6. jsp urlrewrite 中正則表達式不包括某个字符串写法

    因在程序中须要做城市间跳转,可是页面中包括的css.scripts和图片等路径是要排除在外的. 这就须要在正则中指定当遇到哪些 字符时须要略过. 正则例如以下: /((? !css)(?!script ...

  7. 使用正則表達式的格式化与高亮显示json字符串

    使用正則表達式的格式化与高亮显示json字符串 json字符串非常实用,有时候一些后台接口返回的信息是字符串格式的,可读性非常差,这个时候要是有个能够格式化并高亮显示json串的方法那就好多了,以下看 ...

  8. JavaScript正則表達式知识汇总

    Js 正則表達式知识汇总 正則表達式: 1.什么是RegExp?RegExp是正則表達式的缩写.RegExp 对象用于规定在文本中检索的内容. 2.定义RegExp:var +变量名=new RegE ...

  9. python 学习笔记 10 -- 正則表達式

    零.引言 在<Dive into Python>(深入python)中,第七章介绍正則表達式,开篇非常好的引出了正則表達式,以下借用一下:我们都知道python中字符串也有比較简单的方法, ...

随机推荐

  1. adb命令--之查看进程及Kill进程

    adb shell kill [PID]       //杀死进程 adb 命令查看程序进程方便简洁高效 adb shell ps       //查看所有进程列表,Process Status ad ...

  2. oracle表类似:BIN$dJ5h8mA4Lr/gQAB/AQB0oA==$0 TABLE

    今天看到数据库中有很多类似: TNAME                          TABTYPE  CLUSTERID ------------------------------ ---- ...

  3. ELK+kafka日志收集

    一.服务器信息   版本 部署服务器 用途 备注 JDK jdk1.8.0_102 使用ELK5的服务器 Logstash 5.1.1 安装Tomcat的服务器 发送日志 Kafka降插件版本 Log ...

  4. WPF中ListBox ListView数据翻页浏览笔记(强调:是数据翻页,非翻页动画)

    ListBox和ListView在应用中,常常有需求关于每页显示固定数量的数据,然后通过Timer自动或者手动翻页操作,本文介绍到的就是该动作的实现. 一.重点 对于ListBox和ListView来 ...

  5. javascript设计模式-掺元类

    有一种重用代码的方法不需要用到严格的继承.如果想把一个函数用到多个类中,可以通过扩充的方式让这些类共享该函数.其实际做法大大体为:先创建一个包含各种通用方法的类,然后再用它扩充其他的类.这种方式就叫做 ...

  6. configparser (配置文件) 模块

    主要内容来自景女神博客 内涵:该模块适用于配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值). 常见文档格式: [DEFAULT] ...

  7. Linux集群搭建与Hadoop环境搭建

    今天是8月19日,距离开学还有15天,假期作业完成还是遥遥无期,看来开学之前的恶补是躲不过了 今天总结一下在Linux环境下安装Hadoop的过程,首先是对Linux环境的配置,设置主机名称,网络设置 ...

  8. wpf 错误 执行了 QueryInterface 调用,请求提供 COM 可见的托管类“BoilerMonitoringV1._0.MapControl”的默认 IDispatch 接口。

    在做wpf嵌入地图时,在自定义的WebBrowser 里面使用JavaScript调用外部方法的时报的错误 在原来的WinForm里 我们只要在窗体类设置的头部设置个 [System.Runtime. ...

  9. Dependency Injection in ASP.NET MVC

    原文引自http://www.dotnetcurry.com/ShowArticle.aspx?ID=786 1.传统三层结构,相邻两层之间交互: 2.如果使用EntityFramework则View ...

  10. 『MicroPython』Hello uPy

    官网买了几乎全套.一路曲折:7月10号下单,13号发货,14号法兰克福过关,23号到北京,25号到上海,27号到沪C:沪C邮局投3次未果,中彩票一样终于打通了投递部电话才在次日28号“妥投”:又因出差 ...