Shell-07-文本处理grep
文本处理sed
sed:流编辑器,过滤和替换文本
工作原理:sed命令将当前处理的行读入模式空间进行处理,处理完把结果输出,并且清空模式空间。
然后再将下一行读入模式空间进行处理输出,以此类推,直到最后一行
常用参数




示例
依据以下文本内容作为示例

匹配打印(p)
1 打印匹配blp5开头的行

2 打印第一行

3 打印1~3行

4 打印奇数行和偶数行

5 打印匹配行以及后一行

6 打印最后一行 单引号会忽略特殊字符

7 不打印最后一行 感叹号是对后面的命令取反

8 匹配范围
范围模式匹配,下一个匹配到第一个就不匹配了

匹配从最开始的blp5到最后一行

9 引用系统变量,用引号

总结:
sed命令用单引号时,里面变量用单引号引起来,或者sed命令用双引号,因为双引号解释特殊符号原有意义
匹配删除(d)
1 删除匹配到bpl5字符的行

2 删除第一行

3 删除奇数行

4 删除第1行到第3行

5 去除空行 或 # 开头的 行

替换(s///)
1 blpt字符串替换为test

全局替换加 g

2 替换 blp5字符串 并打印

3 使用 & 命令引用匹配类容并且替换

4 IP加引号

5 对1-5行的 blp5 进行替换

6 对匹配的行进行替换

7 二次匹配替换

8 分组使用

第一列,第二列 是第一个小括号匹配,第3列是第2个小括号匹配
再通过 \数字 按分组顺序调用即可

9 将协议与端口号位置调换

10 去除开头和结尾空格或制表符

多重编辑(e)
可以使用-e参数,也可以使用分号分隔

添加新类容(a、i、c)
1 在blp5上一行添加新类容

2 在blp5下一行添加新类容

3 将blp5 替换新行

4 在指定行{下一行|上一行}添加一行

读取文件并追加到匹配行后(r)

将匹配行写到文件(w)

读取下一行(n和N)
n 读取 下一行 到模式空间
N 追加 下一行 内容到模式空间,并且以换行符 \n 分割
1 打印匹配的下一行

2 打印偶数

sed 先读取第一行 1 ,执行 n 命令,获取下一行2,此时模式空间是 2 ,执行p打印命令,打印模式空间。
现在模式空间是2 ,sed 再读取3,执行 n 命令,获取下一行4 ,此时模式空间是4 ,执行p命令打印。以此类推!
3 删除偶数行

忽略大小写匹配(I )

获取总行数(#)

Shell-07-文本处理grep的更多相关文章
- grep查询文本:问一个简单shell问题,将grep的输出赋值给一个变量
问一个简单shell问题,将grep的输出赋值给一个变量 用grep命令得到的输出赋值给一个变量不成功. grep命令如下: 代码: $ grep -c '^abc' file.txt 输出为22,表 ...
- 第5天(半天)【shell编程初步、grep及正则表达式】
第5天(半天)[shell编程初步.grep及正则表达式] shell编程初步(01)_recv shell脚本:文本文件 #!:/bin/bash #!:/usr/bin/python #!:/us ...
- Linux Shell处理文本最常用的工具大盘点
导读 本文将介绍Linux下使用Shell处理文本时最常用的工具:find.grep.xargs.sort.uniq.tr.cut.paste.wc.sed.awk:提供的例子和参数都是最常用和最为实 ...
- linux shell 修改文本 sed
linux shell 修改文本echo [root@DSI tmp]# echo 'yhqt1 test1' > test1.txt [root@DSI tmp]# cat test1.txt ...
- linux下的文本操作之 文本查找——grep
摘要:你有没有这样的应用场景:调试一个程序,出现debug的提示信息,现在你需要定位是哪个文件包含了这个debug信息,也就是说,你需要在一个目录下的多个文件(可能包含子目录)中查找某个字符串的位置: ...
- 查找文本工具grep
许多时候需要从一大堆的命令输出或文本内容中找出一两行关键的内容,例如从系统用户文件中查找某个用户.如果不借助工具,这将是一项非常繁琐的工作,这时可以使用grep工具对内容进行筛选. grep(glob ...
- Shell 编程 文本处理工具 sed
本篇主要写一些shell脚本文本处理工具sed的使用. 概述 sed(Stream EDitor)是一个强大而简单的文本解析转换工具,可以读取文本,并根据指定的条件对文本内容进行编辑(删除.替换.添加 ...
- shell之文本过滤(grep)
shell之文本过滤(grep) 分类: linux shell脚本学习2012-09-14 14:17 588人阅读 评论(0) 收藏 举报 shell正则表达式扩展工具存储 grep(全局正则表达 ...
- Linux下使用Shell处理文本时最常用的工具
find 文件查找 查找txt和pdf文件 find . \( -name "*.txt" -o -name "*.pdf" \) -print 正则方式查找. ...
- shell脚本三剑客:grep、sed、awk
shell脚本三剑客:grep sed awk grep语法: grep [OPTIONS] PATTERN [FILE] 常用选项 -c 统计匹配到的 ...
随机推荐
- MyBatis框架的使用解析!数据库相关API的基本介绍
动态SQL if 根据条件包含where子句的一部分 <select id="findActiveBlogLike" resultType="Blog"& ...
- 数据库表的自增ID createDate和updateDate 用JPA注解代替触发器实现
对于数据库表的自增ID , createDate和updateDate 等字段,用JPA注解代替触发器实现,效率会高很多. 由于这些属性很多entity都有 可以写成两个基本entity :BaseE ...
- linux中的vim用法
p.p1 { margin: 0; font: 16px ".PingFang SC"; color: rgba(53, 53, 53, 1) } p.p2 { margin: 0 ...
- PHPCMSV9版本代码审计学习
学习代码审计,自己简单记录一下.如有错误望师傅斧正. PHPCMS预备知识 PHPCMS是采用MVC设计模式开发,基于模块和操作的方式进行访问,采用单一入口模式进行项目部署和访问,无论访问任何一个模块 ...
- C++ MFC应用程序开发实例
MFC:微软基础类(Microsoft Foundation Classes),同VCL类似,是一种应用程序框架,随微软Visual C++ 开发工具发布.作为Application Framewor ...
- Spring BeanFactory和现实工厂的对比
本文不分析Spring的源码流程,只是介绍一些基础的概念,在阅读源码之前,我们应该首先明确研究的对象是什么,才能有的放矢. Spring作为BeanFactory, 和现实工厂有着许多类似之处. 需要 ...
- matlab——插值与拟合
@ 目录 前言 一.拟合 1.定义 2.三种判别准则 3.最小二乘法 (1)一般形式 (2)常用函数 (3)matlab实现 二.插值 1.定义 2.方法 (1)分段线性插值 (2)拉格朗日插值多项式 ...
- kali之Metasploit入门
前言 不得不说Metasploit 目前是世界领先的黑客框架.它在某种程度上被几乎每个黑客/渗透者使用.因此,如果您想进入网络安全/渗透测试行业并有所成就,您就必须要需要熟悉它. Metasploit ...
- GDB常用命令整理
(gdb) break xxx (gdb) b xxx 在源代码指定的某一行设置断点,其中 xxx 用于指定具体打断点的位置. (gdb) run (gdb) r 执行被调试的程序,其会自动在第一个断 ...
- Album++:分布式事务专辑-基础概念
(一)基础概念:↓ ↓ ↓ 1.1)什么是事务 什么是事务?举个生活中的例子:你去小卖铺买东西,"一手交钱,一手交货"就是一个事务的例子,交钱和交货必 须全部成功, 事务才算成功, ...