03-Sed基础语法及例子
1 Sed语法及举例
在实际使用sed过程中经常使用字符串的替换、删除、查找等操作。Linux中的编辑器Vi、GVIM、emacs等都可以进行上述操作,但是大量进行操作的时候,效率很低。
地址参数 {
命令参数1
命令参数2
...
}
**对于符合地址参数的数据,依次执行命令参数1,命令参数2**
1.1 替换文件中的数据
- 表示字符串替换的参数为s;
- 表示替换数据行、数据区的参数为c
- \表示换行
例1
将文件中含有machine字符串的数据行中的phi替换为beta字符串
# /machine/ -- 匹配所有machine所在行
# s -- 表示替换
sed -e '/machine/s/phi/beta/g' input.dat
例2
将文件中第5行数据替换为句子 Those who in quarrels interpose,mnust often wipea blood nose.
sed -e '5c \
Those who in quarrels interpose,mnust often wipea blood nose.'
input.dat
例3
将文件中的1-100行替换为下面两行
# 替换内容
How are you?
data be deleted
sed -e '1,100c \
How are you? \
data be deleted !
' input.dat
1.2 移动文件中的数据
sed中的hold space可以暂存编辑中的数据,用函数参数w将文件数据搬动到文件内存储,或者使用函数参数r将文档中的内容搬到文件内。
Hold space是sed用来暂存pattern space内数据的缓存器,当sed执行函数参数h,H时会将pattern space中的资料暂存到hold space;执行函数参数x,g,G时会将暂存的资料取到pattern space。
例1
将文件中前100数据,搬到文件第300行之后。
sed -f mov.scr input.dat
# scr中的内容
1,100 {
H
d
}
300G
其中
1,100{
H
d
}
表示先将前100行的数据,先存储到hold space(H),然后将pattern space中的内容进行删除。
300G
300G表示,将hold space中的内容,添加到pattern space(G)的第300行输出
例2
将文件中含有phi字符串的行,搬运至mach.inf文件中存储。
# w 表示将文档搬运到另一个文档进行存储
sed -e '/phi/w mach.inf' file
例3
将mach.inf文档中的内容,搬至文件中含beta字符串的数据行
# r 表示将一个文件搬运到另一个文件
sed -e '/beta/r mach.inf' file
1.3 删除文件中的数据
使用函数参数d 或者是 D可以进行删除
例1
删除文档中所有的空白行
# N 表示将空白行的下一行资料添加至pattern space
# /^$/D 表示删除空白行
sed -e '/^$/{
N
/^$/D
}' 文档
1.4 查找文件中的数据
sed -f gp.scr file
/omega/b
N
h
s/.*\n/
/omega/b
g
D
03-Sed基础语法及例子的更多相关文章
- sed基础语法
sed 太强大了 参考博客如下:https://www.cnblogs.com/ctaixw/p/5860221.html sed: Stream Editor文本流编辑,sed是一个“非交互式的”面 ...
- mobx学习笔记03——mobx基础语法(decorator修饰器)
在声明阶段实现类与类成员注解的一种语法. function log(target){ const desc = Object.getOwnPropertyDescriotors(target.prot ...
- 025 01 Android 零基础入门 01 Java基础语法 03 Java运算符 05 if条件结构
025 01 Android 零基础入门 01 Java基础语法 03 Java运算符 05 if条件结构 本文知识点:Java中的if条件结构语句 关系运算符回顾 生活中根据条件进行判断采取不同操作 ...
- 009 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 03 什么是变量?
009 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 03 什么是变量? 什么是变量? 形象化的生活中的例子理解什么是变量以及变量的三个元素 我们可以根据客人要求 ...
- 071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法
071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法 本文知识点:综合案例-数组移位-显示数组当中所有元素 ...
- 056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用
056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用 本文知识点:数组的实际应用 程序开发中如何应用数组? 程序代码及其运行结果: 不同数据类 ...
- 041 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 03 案例演示while循环的使用——求1到5的累加和
041 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 03 案例演示while循环的使用--求1到5的累加和 本文知识点:案例演示while循环的使用1 ...
- 036 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 03 嵌套if结构
036 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 03 嵌套if结构 本文知识点:Java中的嵌套if结构 什么是嵌套if结构? 概念: 嵌套if结构 ...
- 033 01 Android 零基础入门 01 Java基础语法 03 Java运算符 13 运算符和表达式知识点总结
033 01 Android 零基础入门 01 Java基础语法 03 Java运算符 13 运算符和表达式知识点总结 本文知识点:运算符和表达式知识点总结 前面学习的几篇文都是运算符和表达式相关的知 ...
- 032 01 Android 零基础入门 01 Java基础语法 03 Java运算符 12 运算符和if-else条件语句的综合案例——闰年问题
032 01 Android 零基础入门 01 Java基础语法 03 Java运算符 12 运算符和if-else条件语句的综合案例--闰年问题 本文知识点:运算符和if-else条件语句的综合案例 ...
随机推荐
- grpc中的拦截器
0.1.索引 https://waterflow.link/articles/1665853719750 当我们编写 HTTP 应用程序时,您可以使用 HTTP 中间件包装特定于路由的应用程序处理程序 ...
- 说说 Redis pipeline
更多技术文章,请关注我的个人博客 www.immaxfang.com 和小公众号 Max的学习札记. Redis 客户端和服务端之间是采用 TCP 协议进行通信的,是基于 Request/Respon ...
- nrf52——DFU升级OTA升级方式详解(基于SDK开发例程)
在我们开始前,默认你已经安装好了一些基础工具,如nrfutil,如果你没有安装过请根据官方中文博客去安装好这些基础工具,连接如下:Nordic nRF5 SDK开发环境搭建(nRF51/nRF52芯片 ...
- Python--网络编程学习笔记系列01 附实战:udp聊天器
Python--网络编程学习系列笔记01 网络编程基本目标: 不同的电脑上的软件能够实现数据传输 网络编程基础知识: IP地址: 用来在网络中标记一台电脑 网络号+主机号(按网络号和主机号占位分类A ...
- Python基础之模块:7、项目开发流程和项目需求分析及软件开发目录
一.项目开发流程 1.项目需求分析 明确项目具体功能: 明确到底要写什么东西,实现什么功能,在这个阶段的具体要询问项目经理和客户的需求 参与人员: 产品经理.架构师.开发经理 技术人员主要职责: 引导 ...
- 畅联新增插件:新增依爱NB烟感
双美接入,C++版,就是解析Json时稍微有点问题,依爱这边的Json格式,Value字段竟然是单引号....呵呵,反正也解决了. 备注一下:电信模式,AEP平台模式.
- Websocket集群解决方案
最近在项目中在做一个消息推送的功能,比如客户下单之后通知给给对应的客户发送系统通知,这种消息推送需要使用到全双工的websocket推送消息. 所谓的全双工表示客户端和服务端都能向对方发送消息.不使用 ...
- Spring Boot 中使用 tkMapper
说明:基于 MyBatis 有很多第三方功能插件,这些插件可以完成数据操作方法的封装.数据库逆向工程的生成等. tkMapper 和 MyBatis-plus 都是基于 MyBatis 提供的第三方插 ...
- elasticsearch聚合之bucket terms聚合
目录 1. 背景 2. 前置条件 2.1 创建索引 2.2 准备数据 3. 各种聚合 3.1 统计人数最多的2个省 3.1.1 dsl 3.1.2 运行结果 3.2 统计人数最少的2个省 3.2.1 ...
- htaccess如何配置隐藏index.php文件
<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{RE ...