Shell脚本grep命令
三剑客:grep sed awk
grep:文本行过滤工具
sed: 文本行编辑器(流编辑器)
awk: 报告生成器,输出格式化
grep包含三个命令:
grep egrep fgrep 。他们是用来进行行模式匹配的
egrep:=grep -E 使用扩展的正则表达式进行匹配
fgrep =fast grep 只使用文件通配符进行匹配
*grep默认使用正则表达式进行文本匹配
grep的用法:
grep [option] …PATTERN [filename]
grep的常用选项:
-E |
支持使用扩展正则表达式 |
-P |
使用perl语言的正则表达式引擎进行搜索(每一种语言的) |
-I |
忽略大小写 |
-o |
仅仅输出匹配的内容(默认输出的是行) |
-v |
进行反选 |
--color=auto |
语法着色 |
-n |
显示行号 |
pattern--正则表达式:
作用:通过一些特殊字符,来表示一类字符内容,然后交给前面的命令来执行。如果使用特殊本身含义,就需要\进行转义。
1.字符匹配:
. 任意一个字符 ?
[] 范围内的任意一个字符
[^]范围外的任意一个字符
字符类:[:digit:] [:alnum:] [:alpha:] [:lower:] [:upper:] [:space:] [:punct:]
2.次数匹配
* 匹配前面的字符0次到n次
\?匹配前面的字符0次到1次
+ 匹配前面的字符1次到n次
\{m\}匹配前面的中字符m次
\{m,n\}匹配前面的字符m到n次
\{0,n\}匹配前面的字符0到n次
\{m,\} 匹配前面的字符至少m次
3.位置锚定
^ 锚定行首
$ 锚定行尾
\b 锚定词首和锚定词尾
\> 锚定词尾
<\ 锚定词首
4.分组
abc* abccccc abc我们要看成一个整体
\(\) 示例:\(abc\)* abcabcabc abcccc
**分组特性:默认情况下,linux系统会为分组指定变量,,变量的表示形式\1\2\3…………
(((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3})
Shell脚本grep命令的更多相关文章
- linux 执行远程linux上的shell脚本或者命令以及scp 上传文件到ftp--免密码登陆
场景:在linux A 上执行Linux B上的shell脚本和命令 步骤1.设置ssh免登陆 1.SSH无密码登录 # 本地服务器执行(A机器):生成密钥对 ssh-keygen -t dsa -P ...
- shell 脚本控制命令的执行顺序
&&,||,(),{},& 五个符号的运用shell脚本执行命令的时候,有时候会依赖于前一个命令是否执行成功.而&&和||就是用来判断前一个命令执行效果的. 也 ...
- Shell 脚本常用命令
Shell脚本是Linux开发工作中常用的工具,但是我一直没有找到一个适合自己的简明扼要的HandBook.在工作过程中整理了一下,贴在这里已备查看. 1 Shell中的特殊符号 ...
- 用 shell 脚本做命令行工具扩展
问题的提出 公司开发机与远程服务器之间有严格的隔离策略,不能直接使用 ssh 登录,而必需通过跳板机.这样一来,本地与服务器之间的一些文件传输变得非常不便.经过咨询,运维教了我一招: $ nc -l ...
- Linux之Shell脚本计算命令行的所有和
问题:设计一个Shell脚本:求命令行上所有整数和 Shell代码: 调用add.sh脚本结果:
- Makefile Shell 脚本;sed命令
1. 在Makefile中想使用shell脚本,需要添加"@"符号,例如: @if [ -d xxx ]; then \ //-d 判 ...
- Linux Shell脚本Ldd命令原理及使用方法
1.首先ldd不是一个可执行程序,而只是一个shell脚本2.ldd能够显示可执行模块的dependency,其原理是通过设置一系列的环境变量如下:LD_TRACE_LOADED_OBJECTS.LD ...
- linux shell脚本、命令学习
1,echo "test" > test.txt 输出重定向到text.txt,文件不存在就创建 echo "test" >> test ...
- 使用getopt命令解析shell脚本的命令行选项 【转】
本文转载自:http://yejinxin.github.io/parse-shell-options-with-getopt-command 在之前的一篇文章中,介绍了如何利用shell内置的get ...
随机推荐
- Servlet 异常处理( 配置错误页面)
当一个 Servlet 抛出一个异常时,Web 容器在使用了 exception-type 元素的 web.xml 中搜索与抛出异常类型相匹配的配置. 您必须在 web.xml 中使用 error-p ...
- ajax基础------备忘
1:register.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" ...
- jmeter 执行python脚本的方法 。(亲测ok)
jmeter 执行python脚本 jmeter 可以通过Jython 执:行python代码 1.下载Jython jar包:http://www.jython.org/downloads.ht ...
- localhost解释
.localhost解释 localhost意思是只能从本地访问 比如说 kibana的配置文件里面写的是localhost,那就无法从浏览器访问到服务,必须写ip地址才可以从浏览器访问到
- springboot整合es客户端操作elasticsearch(四)
对文档查询,在实际开发中,对文档的查询也是偏多的,记得之前在mou快递公司,做了一套事实的揽件数据操作,就是通过这个来存储数据的,由于一天的数据最少拥有3500万数据 所以是比较多的,而且还要求查询速 ...
- SGI STL内存管理
前言 万丈高楼平地起,内存管理在C++领域里扮演着举足轻重的作用.对于SGI STL这么重量级的作品,当然少不了内存管理的实现.同时,想要从深层次理解SGI STL的原理,必须先将内存管理这部分的内容 ...
- 自动载入Python虚拟环境
自动载入Python虚拟环境 在安装jumpserver服务时发现可以使用autoenv来自动载入python虚拟环境,很好,非常好. $ cd /opt $ git clone https://gi ...
- Oracle-DQL 4- 多表查询
多表查询: 1.笛卡尔积SELECT * FROM dept;--查询员工的信息和其所在部门的信息SELECT ename,job,dname,locFROM emp,dept; --集合A中的所有元 ...
- oracle数据库基于(streams流复制)的双机热备配置手册
------------------------------------------------------------------------------- 主数据库: 操作系统:windows 2 ...
- 【LOJ】#3031. 「JOISC 2019 Day1」聚会
LOJ#3031. 「JOISC 2019 Day1」聚会 听说随机可过? 我想了很久想了一个不会被卡的做法,建出前\(u - 1\)个点的虚树,然后找第\(u\)个点的插入位置,就是每次找一条最长链 ...