shell中grep:行过滤工具
来源:互联网 发布:市政道路工程验收数据 编辑:程序博客网 时间:2024/06/08 15:51
在Linux中,往往需要对大量文本做处理,其中有效的文本处理工具主要有grep ,sed 和 awk,三者称为文本处理的三大利器。
grep :Globally search a Regular Expression and Print the line的缩写。表明grep是对文本中的行,逐行进行处理。
使用:grep [options] pattern [file]或者grep [options] [-e pattern | -f file] [file];
options :
--color=auto:对匹配到的文本着色后高亮显示: grep --color=auto "def" def.py ;
-i:ignorecase 忽略字符大小写:grep -i "def" test.txt;
-o:仅显示匹配到的字符串本身:grep -o "def" test.txt;
-v:invert match反向匹配,显示不能匹配的行 grep -v “def" test.txt;
-E:支持扩展的正则表达式的元字符;
-q:--quiet,--silent 静默模式,即不打印出任何信息,用于判断执行状态,echo #?;
-n: --line-number 打印匹配行和行号;
-A num:after 打印匹配行和该行后面 num行;
-B num:before 打印匹配行和该行前面num 行;
-C num:context打印匹配行和该行前后num行;
基本正则表达式元字符:
字符匹配:
.:所有单个字符;
[ ] :指定范围内的单个字符;
[^ ]:匹配指定范围外的任意单个字符grep [^def] test.txt;
匹配次数:
* 任意次数 0,1,多次;
\? 匹配前面的字符0次或者1次,即前面的字符可有可无;
\+ 匹配前面的字符1次或者多次,即前面的字符一定出现至少一次;
\{m\}:匹配前面的字符m次;
\{m,n\}:匹配前面的字符至少每次,至多n次;
\{0,n\}:至多n次;
\{m,\}:至少m次;
位置锚定:
^ :行首
$:行尾
^$:空白行,不包括空白字符
^[[:space:]]*$:空行或者含有空白字符的行
分组及引用:
\(\):将一个或者多个字符捆绑在一起,进行处理;
\1:左起第一个();
\2:左起第二个();
...
- shell中grep:行过滤工具
- shell基础八:文本过滤工具(grep)
- shell基础八:文本过滤工具(grep)
- shell基础八:文本过滤工具(grep)
- shell之文本过滤(grep)
- shell工具篇之grep
- 过滤工具grep | egrep|awk|sed
- grep过滤满足两个条件中一个的行
- shell中grep命令详解
- shell中grep命令详解
- shell中grep命令详解
- shell中grep命令详解
- grep过滤
- grep过滤
- grep 过滤
- grep过滤
- shell脚本---grep、awk、sed工具
- shell文本过滤编程(一):grep和正则表达式
- 存储过程详解
- 我的产品开发之旅(2) - MySQL设计用户相关表结构
- spring的IOC和DI中遇到的异常
- No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
- 深度学习元老Yann Lecun详解卷积神经网络
- shell中grep:行过滤工具
- android 获取屏幕的方向
- VB6实现简单的扫雷小游戏
- MySQL优化工具之 profiling
- 为什么需要同步?
- bzoj 1087 [SCOI2005]互不侵犯King 状压dp
- 日常博客
- ThinkPHP5 与 ThinkPHP3.* 之间的使用差异
- 安卓:解决应用前后台切换报The surface has been released错误;PhoneStateListener实现通话状态的监听