1 grep 用法:

grep -F  fa      找含有fa字符的字符串

yuyuyu@ubuntu:~$ grep -F fa < do.txt

grep -i  fa      忽略大小写找含有fa字符的字符串

yuyuyu@ubuntu:~$ grep -i fa < do.txt

grep -q  fa      安安静静的找含有fa字符的字符串,没显示结果

yuyuyu@ubuntu:~$ grep -q fa < do.txt

2 unix 使用正则表达式的例子

匹配文本行 grep

改变输入流用sed

字符串处理的程序语言    awk Icon Perl Python Ruby Tcl

文件查看程序 more page pg

文本编辑器 vi vim jove jed emacs

3 正则表达式中的元字符(meta)用法,即特殊字符。

 .  匹配任何的单个字符

grep “.” < do.txt

  * 匹配任意字符的任意长度, 放第一位则无意义

 ^ 匹配字符串开头,或者行开头

yuyuyu@ubuntu:~$ grep "^sad" <do.txt

 $ 匹配字符串结尾, 或者行结尾

yuyuyu@ubuntu:~$ grep "qb$" <do.txt

[ ] 方括号表达式,匹配方括号中的任意字符

[a-z] 匹配a-z的所有字符

[^z] 不匹配z字符

{\n\} 前侧正则表达式结果重现n次

{n,\} 前侧正则表达式结果至少重现n次

\{n,m\} 区间表达式, 匹配它之前的字符重现的次数区间, n至少是0 ,m至少是255

4 [: :]字符集

grep "[[:print:]]" <do.txt   可显示字符

grep "[[:space:]]" <do.txt   空白字符

grep "[[:xdigit:]]" <do.txt    16进制数

grep "[[:upper:]]" <do.txt  大小字母

grep "[[:lower:]]" <do.txt  小写字母

grep "[[:digit:]]" <do.txt  数字字符

grep "[[:blank:]]" <do.txt  空格与定位字符

grep "[[:alpha:]]" <do.txt 字母字符

grep "[[:alnum:]]" <do.txt 数字字符

grep "[[:punct:]]" <do.txt  标点符号

5 排序符 [. .]

6 等价字符集[= =]

7 后向引用,就 是先写个表达式 , 接着能用\1~\9 来引用它

\(\) 模式存储, 会存在特殊空间

一开始看了觉得很难,怎么测试都没找到显示结果。

这里通过3张图片来了解:

grep "\(adf\)" <do.txt   能找出adf开头的字符串

以第一行的   “adfasfas” 来引入引用

“adfasfas”   中后面的6个字母是重复的, fas fas

引用第二个空间 用\2

这样就得到一个正则表达式, 要匹配 adfasfasf 字符串了

8使用 ^ $描点,匹配起止位置

9  BRE优先级 高到低

[..] [==] [::]  字符排序的方括号

\metacharacter 转义的mea字符

[]  方括号表达式

\( \) \digit  子表达式和后向引用

*  \{ \} 前置当个字符重现的正则表达式

无符号

^ $     描点

^$ 只能用来表示字符串的开头结尾, 无法匹配内嵌的换行字符。

| 交替

10 匹配单个字符的特殊写法

grep "\[\-\]" <do.txt

grep, awk 只支持 BRE, 不支持 ERE 怪不得\\  + ? 都没法用

11 搜索两个字符串使用-e参数

logcat |grep -e "\(onEvent: 0x520\)" -e"\(enableAFCount\)"

shell脚本学习(2)查找的更多相关文章

  1. Shell脚本学习指南笔记

    Shell脚本学习指南 作者:Danbo 2015-8-3 脚本编程语言与编译型语言的差异 许多中型.大型的程序都是用编译型语言写的,例如:C.C+.Java等.这类程序只要从源代码(Source C ...

  2. 笔记——shell脚本学习指南

    <shell脚本学习指南>机械工业出版 ISBN 987-7-111-25504-8 第2章 2.4 初级陷阱 1.当今的系统,对#!这一行的长度限制从63到1024个字符都有,尽量不要超 ...

  3. Shell 脚本学习资料搜集

    Shell文档 ChinaUnix上大神“網中人”总结的Shell十三问,强烈推荐,这本书讲得比较精炼,而且都是一些Shell学习中容易把握不住的一些细节难点.每一问都写得非常精彩.ChinaUnix ...

  4. 学习笔记之Shell脚本学习指南 & sed与awk & 正则表达式

    正则表达式_百度百科 http://baike.baidu.com/link?url=ybgDrN2WQQKN64_gu-diCqdeDqL8LQ-jiQ-ftzzPaNUa9CmgBRDNnyx50 ...

  5. 转 shell脚本学习指南

    shell脚本学习指南 以下八点不敢说就能成为你shell脚本学习指南de全部,至少可以让你编写出可靠的shell脚本. 1. 指定bashshell 脚本的第一行,#!之后应该是什么?如果拿这个问题 ...

  6. Shell脚本学习 - 运算符

    继续shell脚本学习.上一篇是基本数据类型和语法的总结,这一篇是运算相关的操作. 运算符 bash不支持简单的数学计算,需要依赖其他命令实现. expr可以代为实现. # 表达式一般这么写 ` + ...

  7. shell脚本学习总结02--数组

    bash同时支持普通数组个关联数组,普通数组只能使用整数作为数组的索引,关联数组可以使用字符串作为数组的索引. 数组的定义方法: 在单行中使用一列值定义一个数组 [root@new ~]# array ...

  8. shell脚本学习之6小时搞定(1)

    shell脚本学习之6小时搞定(1) 简介 Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本. Unix/Linux上常见的Shell脚本解释器有bash.sh.csh.ksh等,习惯上把 ...

  9. Shell脚本学习指南 [ 第三、四章 ] 查找与替换、文本处理工具

    摘要:第三章讨论的是编写Shell脚本时经常用到的两个基本操作.第四章总共介绍了约30种处理文本文件的好用工具. 第三章 查找与替换 概括:本章讨论的是编写Shell脚本时经常用到的两个基本操作:文本 ...

  10. Shell脚本学习 - 基本内容以及数据格式

    为了捞取日志,自己用python写了一些东西,大致套路就是读取写入文件的操作,放到linux上跑.实际使用时发现要操作的文件有时比较大,直接打开文件找需要的东西可能会有一些效率问题.所以学习一下she ...

随机推荐

  1. shell脚本学习(6)awk 编排字段

    awk能取出文本字段重新编排 1 awk的用法 awk ‘program’ [file] 2 其中program 可以写成 ‘parrtern {action}’    pattern 或 actio ...

  2. java 节点流(字符流,字节流)和包装流(缓冲流,转换流)

    结点流:直接对File类进行操作的文件流 package stream; import java.io.File; import java.io.FileNotFoundException; impo ...

  3. CF704E Iron Man

    CF704E Iron Man 经过不懈(抄题解)努力之后,终于AC了此题. 说起来很简单. 考虑一个链上的情况, 建立直角坐标系. 横坐标是t,纵坐标是距离链开头的距离d m个路径就是一个线段 那么 ...

  4. Linux测试端口的连通性的四种方法

    目录 1.telnet 2.ssh 3.crul 4.wget 方法一.telnet telnet为用户提供了在本地计算机上完成远程主机工作的能力,因此可以通过telnet来测试端口的连通性,具体用法 ...

  5. sts bug SpringJUnit4ClassRunner

    SpringJUnit4ClassRunner找不到,不会自动修复, 只能复制引用过去 import org.springframework.test.context.junit4.SpringJUn ...

  6. python最近邻分类器KNN算法

    1. KNN算法 邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一.所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最 ...

  7. DPTR是什么寄存器 它的作用是什么 它由哪几个寄存器组成

    数据指针(DPTR)是80C51中一个功能比较特殊的寄存器.从结构DPTR是一个16位的特殊功能寄存器, 其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示,DPTR既可以作为一个16位的寄存器 ...

  8. js 判断对象的长度

    Object.size = function(obj) { var size = 0, key; for (key in obj) { if (obj.hasOwnProperty(key)) siz ...

  9. python 将图片存入mongodb,读取图片,gridfs模块

    导入图片引入模块,其中gridfs模块不需要单独安装,引入了pymongo即可直接引入from pymongo import MongoClientfrom gridfs import *import ...

  10. IIS 解决跨域问题

    打开 HTTP响应标头 添加如下三条 名称Access-Control-Allow-Origin  值*名称Access-Control-Allow-Headers  值Content-Type,Ac ...