shell脚本学习(2)查找
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\)"
最新文章
- 解决jdk1.8上编译dubbo失败
- ES6最具魔力的特性——生成器
- iOS开发备忘录:自定义UINavigationBar背景图片和Back按钮
- windows多线程框架
- 在慕课学习Bootstrap
- C# 中文转拼音类
- java 调用mysql的存储过程(简单示例)
- 赵雅智_BroadcastReceiver短信监听
- Matlab.NET混合编程技巧之——找出Matlab内置函数
- hadoop中联结不同来源数据
- Firebug Console 与命令行全集
- CacheConcurrencyStrategy五种缓存方式
- 2018秋季C语言学习总结
- jQuery案例2
- 【aardio】]SQL创建、读写 excel
- Confluence 6 审查日志的对象
- iOS - 提示用户升级版本并跳转到AppStore
- selenium_unittest框架,TestCase引用
- Visual Studio 2017 版本 15.5.5
- RzCheckTree基本使用
热门文章
- VM安装OSX进度条一半时卡住不动,【附】OSX10.10 ISO镜像文件
- 转载:VScode 好用插件集合
- 【c#技术】一篇文章搞掂:Newtonsoft.Json Json.Net
- python中匿名函数lamada函数的使用说明
- 2018-2019-20175203 实验二 《Java面向对象程序设计》
- 显示等待WebDriverWait+EC
- play framework 在idea简单运行配置(mac为例)
- Python笔记(三)_字典与集合
- 第十三周学习总结&;实验报告(八)
- vue学习 ---- 使用vue-router 进行跳转