Sed是一种面向字符流的编辑器。处理文件时,sed把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾,一次只处理文件中一行的拷贝。文件内容并没有改变,除非你使用重定向存储输出。
Sed同时维护着模式空间(pattern space)和保持空间(hold space),可以将模式空间的内容复制到保持空间并在以后检索它们。
调用sed命令有两种形式
sed [options] 'command' file(s)
sed [options] -f scriptfile file(s)
常用的options
-e command, --expression=command 允许多点编辑。
-n, --quiet, --silent 取消默认输出。
-f, --filer=script-file 引导sed脚本文件名
使用的基础command及示例
1 [address]s/pattern/replacement/flags ---substitution
用string替换正则表达式re。
以下的是替换标记flags
g表示行内全面替换。
p表示打印行。
w表示把行写入一个文件。
示例:sed -i 's/old/new/g' file GNU sed version 4.0.5以上带有-i选项
2 d [ a d d r e s s [,a d d r e s s ] ] d---delete
从模式空间(Pattern space)位置删除匹配行。
示例:
$sed '1d' quote.txt
It was an evening of splendid music and company.
Too bad the disco floor fell through at 23:00.
The local nurse Miss P.Neave was in attendance
$ sed '1,3d' quote.txt
The local nurse Miss P.Neave was in attendance.
$sed /^$/d 删除空行
3 追加 插入 更改
a ---append
在当前行后面加入一行文本。
i ---insert
在当前行上面插入文本。
c ---change
用新的文本改变本行的文本。它清除模式空间的内容,类似d命令的效果
append [line-address]a\
text
insert [line-address]i\
text
change [address]c\
text
4 l ---list
显示模式空间内容,将非打印的字符显示为两个数字的ascii码。
$ cat test/spchar
Here is a string of special characters: ^A ^B
^M ^G
$ sed -n -e "l" test/spchar
Here is a string of special characters: \01 \02
\15 \07
$ # test with GNU sed too
$ gsed -n -e "l" test/spchar
Here is a string of special characters: \01 \02
\r \a
5 y [address]y/abc/xyz/ ---Transform
按位置将abc中的每个字符转换成xyz中的
转换成大写
y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/
6 p ---print
打印模式空间的行。
=
打印被匹配行的行号。
q [line-address]q---quit
退出Sed。
7 n [address]n ---next
输出模式空间内容,然后读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。不返回脚本顶端。
附录:sed正则表达式元字符集
^
锚定行的开始 如:/^sed/匹配所有以sed开头的行。
$
锚定行的结束 如:/sed$/匹配所有以sed结尾的行。
.
匹配一个非换行符的字符 如:/s.d/匹配s后接一个任意字符,然后是d。
*
匹配零或多个字符 如:/*sed/匹配所有模板是一个或多个空格后紧跟sed的行。
[]
匹配一个指定范围内的字符,如/[Ss]ed/匹配sed和Sed。
[^]
匹配一个不在指定范围内的字符,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一个字母开头,紧跟ed的行。
\(..\)
保存匹配的字符,如s/\(love\)able/\1rs,loveable被替换成lovers。
&
保存搜索字符用来替换其他字符,如s/love/**&**/,love这成**love**。
\<
锚定单词的开始,如:/\<love/匹配包含以love开头的单词的行。
\>
锚定单词的结束,如/love\>/匹配包含以love结尾的单词的行。
x\{m\}
重复字符x,m次,如:/0\{5\}/匹配包含5个o的行。
x\{m,\}
重复字符x,至少m次,如:/o\{5,\}/匹配至少有5个o的行。
x\{m,n\}
重复字符x,至少m次,不多于n次,如:/o\{5,10\}/匹配5--10个o的行。
分享到:
相关推荐
文本编辑sed基础教程 适合于初学unix文本操作的学者 Linux 操作系统最大的一个好处是它带有各种各样的实用工具。存在如此之多不同的实用工具,几乎不可能知道并了解所有这些工具。可以简化关键情况下操作的一个实用...
sed 用法介绍 s e d是一个非交互性文本流编辑器。它编辑文件或标准输入导出的文本拷贝。 引用: . 抽取域。 . 匹配正则表达式。 . 比较域。 . 增加、附加、替换。 . 基本的s e d命令和一行脚本。
第二章UNIX的软件工具2.1 Unix软件开发工具简介sed(Streamer Editor)称为字符流编辑程序,是一个非交互式的文本编辑程序,作者为Lee
-f∶直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作;-r∶sed 的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法)-i∶直接修改读取的档案内容,而不是由萤幕输出...
文章目录前言一、什么是shellshell脚本大白话二、shell常用操作三、文本处理三剑客 — 搜索工具grep1.什么是grep2.格式3.主要参数4.pattern正则表达式主要参数:5. grep使用实例四、文本处理三剑客 — 流编辑器sed1....
第1章 文件安全与权限 1 第2章 使用find和xargs 14 第3章 后台执行命令 22 第4章 文件名置换 31 第5章 shell输入与输出 34 第6章 命令执行顺序 46 第二部分 文本过滤 第7章 正则表达式介绍 49 第8章 grep家族 56 第...
shell基础1:文件安全与权限 2 shell基础2:查找技巧,find及xargs的使用 25 shell基础3和4:后台(crontab,at,&,nohup)及(*,?,[]等)shell基础5:输入/输出(echo,read,cat,管道,tee,重定向等)shell基础8:文本...
基于MFCC+GMM的声学事件检测(SED), MATLAB实现, 源码+详细文档+全部数据(高分课程设计)基于MFCC+GMM的声学事件检测(SED), MATLAB实现, 源码+详细文档+全部数据(高分课程设计) 【备注】 1、该资源内项目代码都...
基于MFCC+GMM的声学事件检测(SED)系统matlab实现源码+报告(课程设计).zip 该资源内项目源码是个人的课设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到94.5分,放心下载使用! 该资源适合计算机相关...
这个是我在学习Linux的时候做的思维导图笔记,主要是Linux的一些基础知识。免费提供下载,学习分享。 该文档分为以下几个部分: 1.shell语法:包含格式化输入输出、数组定义、变量定义方法、运算方法、流程控制、...
3.基础正则表达式: ^word 搜索以word开头的 4.扩展的正则表达式:ERE(egrep或grep -E) + 重复一次或一次以上前面的一个字符 5.理
ed是一个著名的行编辑器,在此基础上开发了sed和ex&vim。 ed的基本用法 打开文件将打开一个交互式编辑器。 ed ファイル名 尝试输入ed romeo_and_juliet.txt ,您将首先看到文件中的字符数。仅此一项并不能告诉您...
基础正则 ^word ##搜索以word开头的 vi/vim中 ^ 一行的开头 word$ ##搜索以word结尾的 vi/vim中 $ 一行的结尾 ^$ ##表示空行 . ##代表且只能代表任意一个字符 \ ##例:\. 只代表点本身,转义符号,让有特殊身份...
此外,SED还提供了与公共密钥基础设施(PKI)和数字证书相关的加密功能,以实现更高级的安全性。 SED的一个重要功能是访问控制,该功能可确保只有经过授权的用户才能访问加密的数据。此外,SED还提供了日志记录和...
1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合...
本项目针对街道与交通道路场景,设计了一套用于突发...SegmentExtraction.m:在能量分析基础上做端点检测,实现大功率前景声(枪声/爆炸声/车鸣声)和环境背景声(干扰)的分离 TrainingGMM:计算MFCC特征,并训练3个GMM分
操作UNIX的确不如Windows方便随意,不过对于那些没有用过UNIX但又希望和计算机更亲密接触的人士,我禁不住要向你们推荐UNIX和这本书,因为UNIX让你了解计算机,而本书将让你了解UNIX,而这些的基础当然是阅读本书。...
- 不懂运行,下载完可以私聊问...3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
该压缩包中包含以下文件(shell函数 awk sed unix 进程基础知识 unix测试题等.......)