02-Sed语法介绍
1 Sed语法介绍
介绍Sed支持的基本命令及其命令行语法,Sed可以通过以下两种形式进行调用:
学习sed命令使用之前,需要掌握正则表达式的用法。
sed [-n] [-e] 'commands' files
sed [-n] -f script files
sed 命令列可以分为编辑指令与文件部分。其中编辑指令负责所有的编辑工作,文件表示所处理的文档。
其中,sed是用他的地址参数决定编辑对象,使用它的函数参数进行编辑。
sed 可以以命令行的方式进行执行,加-e,sed 还可以以脚本的方式进行执行,加-f
1.1 在命令行上执行sed指令
当编辑指令在命令行上进行执行的时候需要加上-e,其命令格式如下:
sed -e '编辑命令1' -e '编辑命令2' ..... files
- 所有的编辑指令都在-e之后,并且在两个''之间。
- 编辑指令的执行是从左到右的,一般在编辑指令不多的时候,往往使用命令行进行执行
例1
删除yel.dat内1-10行的数据,将其余文字中的yellow改为black
sed -e '1,10d' -e 's/yellow/black/g' yel.dat
- 1,10d--表示删除1-10行
- s--表示替换
- g--表示全部替换
- s/查找词/替换词/g
1.2 sed编辑命令
[address1 [,address2]] function[argument]
- address1,address2--表示为行数
- function--sed内置函数
1.2.1 address 参数表示方法
- 删除文件内第10行数据
sed -e '10d' test.txt
- 删除含有'man'字符串的行
sed -e '/man/d' test.txt
- 删除文档第2行到第100行数据
sed -e '2,100d' test.txt
- 删除第10行含有'man'字符串的数据行
sed -e '10,/man/d' test.txt
注意:
- 如果使用正则表达式需要在正则表达式前后加/
// 删除含有两个t字母的数据行
sed -e '/t.*t/d' test.txt
- 在没有地址参数时候,全部数据参与编辑
- 只有一个地址参数的时候,地址所在行参与编辑运算
- address1,address2--表示起始行以及结束行,在之间进行编辑
下面举几个例子进行说明:
//删除文件内所有的数据行
sed -e 'd' file
//删除第5行
sed -e '5d' file
//删除第一行到有apple字符串的一行
sed '1,/apple/d' file
//删除有apple字符串的行到有orange字符串的行
sed -e '/apple/,/orange/' file
1.2.2 常见的命令参数
| 命令 | 参数 |
|---|---|
| # | 注释 |
| d | 删除数据 |
| s | 替换字符串 |
| p | 输出 |
1.3 执行脚本中的编辑命令
当执行的指令太多,在命令行中书写命令十分的不方便,此时可以将这些指令存储到一个脚本文件(script_file)中,用选项-f script_file进行执行。
sed -f script_file file
//书写一个脚本文件,命名为ysb.scr
//脚本内容如下
1,10d
s/yellow/black/g
//指向脚本内容
sed -f ysb.scr yel.dat
- sed执行脚本文件的时候是从上到下进行执行的
- sed可以-e与-f进行混合使用,执行原则是从左到右,从上到下
1.4 同时对多个文件进行编辑
sed可以一次编辑多个文档,他们跟在编辑指令之后
- 替换white.dat、rad.dat、black.dat文件内的yellow字符串转变为blue
sed -e 's/yellow/blue/g' white.dat red.dat black.dat
- sed 按照书写顺序依次进行执行
1.5 执行输出控制
命令中的选项-n表示输出由编辑指令进行控制,sed原本会自动进行输出,加上-n之后输出由编辑命令控制。-n需要与编辑命名进行配合使用。
比如:输出while.dat文件中含有white字符串的数行
sed -n -e '/white/p' white.dat
02-Sed语法介绍的更多相关文章
- JavaScript学习02 基础语法
JavaScript学习02 基础语法 JavaScript中很多基础内容和Java中大体上基本一样,所以不需要再单独重复讲了,包括: 各种算术运算符.比较运算符.逻辑运算符: if else语句.s ...
- Swift翻译之-Swift语法入门 Swift语法介绍
目录[-] Hello world - Swift 简单赋值 控制流 函数与闭包 对象和类 枚举与结构 协议和扩展 泛型 2014.6.3日,苹果公布最新编程语言Swift,Swift是一种新的编程语 ...
- flex弹性布局语法介绍及使用
一.语法介绍 Flex布局(弹性布局) ,一种新的布局解决方案 可简单.快速的实现网页布局 目前市面浏览器已全部支持1.指定容器为flex布局 display: flex; Webkit内核的浏览器, ...
- freemarker语法介绍及其入门教程实例
# freemarker语法介绍及其入门教程实例 # ## FreeMarker标签使用 #####一.FreeMarker模板文件主要有4个部分组成</br>#### 1.文本,直接输 ...
- QSS类的用法及基本语法介绍
QSS类的用法及基本语法介绍 目录 1. 何为Qt样式表2. 样式表语法基础3. 方箱模型4. 前景与背景5. 创建可缩放样式6. 控制大小7. 处理伪状态8. 使用子部件定义微观样式8.1. 相对定 ...
- Nmap原理02 - 版本探测介绍(上)
Nmap原理02 - 版本探测介绍(上) 1.介绍 本文将介绍如何通过修改或添加nmap-service-probes文件来实现对nmap中未知服务的探测,首先介绍服务和版本探测的相关信息,然后介绍服 ...
- MD基本语法介绍
Markdown基本语法介绍 前言 文本编辑器一般用的有富文本编辑器(也就是Word)和md了,但是wold太过于花里胡哨很多功能都用不上,所以就选择md了,简单实用,一对于我来说一般就用标题和列表就 ...
- Markdown 语法介绍
Markdown 语法介绍 from:https://coding.net/help/doc/project/markdown.html 文章内容 1 Markdown 语法介绍 1.1 标题 1.2 ...
- css基本概念与css核心语法介绍
css基本概念 css是什么?不需要了解太多文字类介绍,记住css是层叠样式表,HTML是页面结构,css负责页面样式,javascrt负责静态页面的交互.CSS 能够对网页中元素位置的排版进行像素级 ...
- c基本语法介绍
c语言基本语法介绍 1.把常量定义为大写字母形式,是一个很好的编程实践.
随机推荐
- 【Kubernetes】K8s笔记(十一):Ingress 集群进出流量总管
目录 0. Ingress 解决了什么问题 1. Ingress Controller 2. 指定 Ingress Class 使用多个 Ingress Controller 3. 使用 YAML 描 ...
- JavaScript基础复盘补缺
语法规范 JavaScript严格区分大小写,对空格.换行.缩进不敏感,建议语句结束加':' JavaScript 会忽略多个空格.您可以向脚本添加空格,以增强可读性. JavaScript 程序员倾 ...
- Python基础之模块:2、包的使用和软件开发目录规范及常用内置模块
目录 一.包的使用 1.什么是包 2.包的具体使用 1.常规导入 2.直接导入包名 二.编程思想转变 1.面条阶段 2.函数阶段 3.模块阶段 三.软件目录开发规范 1.bin 2.conf 3.co ...
- springboot滚动分页展示列表(类似layui瀑布流效果)
背景: 公司项目要求获取用户关联的好友列表,要求分页查询,十条数据一页,滚动页面是点击加载更多,显示下一页列表. 示例图: 实现: 本项目采用的前端模板是freemaker,主要前端页面代码(没有 ...
- 使用gitee创建个人的图床
使用gitee创建个人的图床 1.如果还没有gitee(码云)账号,可以注册一个,注册后登陆进入个人中心 2.点击新建仓库 3.进入创建页面 创建成功 5.在本地电脑创建一个文件夹,专门用来放置要上传 ...
- 嵌入式-C语言基础:字符串拼接函数strcat
#include<stdio.h> #include <string.h> //实现字符串拼接 char * mystrcat(char * dest,char * src) ...
- Kubernetes安装GitLab
个人名片: 对人间的热爱与歌颂,可抵岁月冗长 Github:念舒_C.ying CSDN主页️:念舒_C.ying 个人博客 :念舒_C.ying Kubernetes安装GitLab Step 1 ...
- JS图片放大镜功能实现
JS图片放大镜功能实现 技术关键点 1.左侧和上侧距离,在一个水平位置和垂直位置中有我们可以挪动的区域,就是原图片区域,鼠标挪动位置是一个块状位置,他的左侧和上侧距离浏览器上侧和左侧分别有一个长度,我 ...
- ArcObjects SDK开发 008 从mxd地图文件说起
1.Mxd文件介绍 ArcGIS的地图文件为.mxd扩展名.Mxd文件的是有版本的,和ArcGIS的版本对应.可以在ArcMap中的File-Save A Copy,保存一个地图拷贝的时候选择Mxd文 ...
- 【SQL查询】必会的常用函数:条件函数、日期函数、文本函数、窗口函数
〇.概述 1.内容 选择(双分支.多分支) 一.条件函数 1.计算25岁以上和以下的用户数量 CASE THEN END多分支选择 SELECT (CASE WHEN age>=25 THEN ...