shell命令之---sed
1. sed编辑器基础
1.1 替换标记
命令格式:s/pattern/replacement/flags
$ cat data4.txt
This is a test of the test script.
This is the second test of the test script.
有4种可用的替换标记:
数字,表明新文本将替换第几处模式匹配的地方;
g,表明新文本将会替换所有匹配的文本;
p,表明原先行的内容要打印出来;
w file,将替换的结果写到文件中。
在第一类替换中,可以指定sed编辑器用新文本替换第几处模式匹配的地方。
$ sed 's/test/trial/2' data4.txt
This is a test of the trial script.
This is the second test of the trial script
将替换标记指定为2的结果就是: sed编辑器只替换每行中第二次出现的匹配模式。
g替换标记使你能替换文本中匹配模式所匹配的每处地方。
$ sed 's/test/trial/g' data4.txt
This is a trial of the trial script.
This is the second trial of the trial script.
p替换标记会打印与替换命令中指定的模式匹配的行。这通常会和sed的-n选项一起使用。
$ cat data5.txt
This is a test line.
This is a different line.
$
$ sed -n 's/test/trial/p' data5.txt
This is a trial line.
-n选项将禁止sed编辑器输出。但p替换标记会输出修改过的行。将二者配合使用的效果就是只输出被替换命令修改过的行。
w替换标记会产生同样的输出,不过会将输出保存到指定文件中。
$ sed 's/test/trial/w test.txt' data5.txt
This is a trial line.
This is a different line.
$
$ cat test.txt
This is a trial line.
1.2 使用地址
在sed编辑器中有两种形式的行寻址:
以数字形式表示行区间
以文本模式来过滤出行
1.3 删除行
命令d执行删除操作。
可以结合指定行号或是使用模式匹配。
通过特殊的文件结尾字符:
$ sed '3,$d' data6.txt
This is line number 1.
This is line number 2.
$
sed编辑器的模式匹配特性也适用于删除命令。
$ sed '/number 1/d' data6.txt
This is line number 2.
This is line number 3.
This is line number 4.
$
说明 记住, sed编辑器不会修改原始文件。你删除的行只是从sed编辑器的输出中消失了。原始文件仍然包含那些“删掉的”行
1.4 插入和附加文本
sed编辑器允许向数据流插入和附加文本行。
插入(insert)命令(i)会在指定行前增加一个新行;
附加(append)命令(a)会在指定行后增加一个新行。
命令行格式如下:
sed '[address]command\ new line'
例如:$ echo "Test Line 2" | sed 'i\Test Line 1'
Test Line 1
Test Line 2
$
1.5 转换命令
转换(transform)命令(y)是唯一可以处理单个字符的sed编辑器命令。转换命令格式如下。
[address]y/inchars/outchars/
这里有个使用转换命令的简单例子。
$ sed 'y/123/789/' data8.txt
This is line number 7.
This is line number 8.
This is line number 9.
This is line number 4.
This is line number 7 again.
This is yet another line.
This is the last line in the file.
转载于:https://www.cnblogs.com/weidongliu/p/11002001.html
shell命令之---sed相关推荐
- shell命令使用sed从JSON中提取指定的值
示例: 1.有一个example.txt文件,文件内容如下: {"err_code":200,"err_msg":"this is no error& ...
- [笔记]使用shell命令(awk,sed,grep)处理几个特征字符串之间的文本
问题一:提取一行文本之中几个特征字符串之间的文本. 例:从文本 "/directory1/WantedString/directory2" 中提取"directory1/ ...
- 几个常用的文本处理shell 命令:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk
内容目录: find 文件查找 grep 文本搜索 xargs 命令行参数转换 sort 排序 uniq 消除重复行 用tr进行转换 cut 按列切分文本 paste 按列拼接文本 wc 统计行和字符 ...
- Shell:用sed命令删除特定行
一.sed命令 Linux sed 命令是利用脚本来处理文本文件. sed 可依照脚本的指令来处理.编辑文本文件. 此处用-i参数实现 -i : 直接在文件上编辑 (edit files in pla ...
- 详解Shell脚本:sed命令工具 ,awk命令工具
-----------------------------概述----------------------------------- Linux文本处理工具(以下都是命令和工具,而且只是作为展示,不能 ...
- Linux中shell命令的用法和技巧
使用Linux shell是我每天的基本工作,但我经常会忘记一些有用的shell命令和l技巧.当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务.于是,我开始在一个文本文件里记录这些用法,并 ...
- Linux中常见shell命令总结
1.具体的shell命令用法可以通过help或man命令进入手册来查询其具体的用法. 2.终端本质上对应着linux上的/dev/tty设备,linux的多用户登录就是通过不同的/dev/tty设备完 ...
- linux shell 宏定义_Linux系统和Shell命令行简介,走上数据分析之路
122Linux系统和Shell命令行简介,走上数据分析之路 本节作者:刘永鑫 中国科学院遗传与发育生物学研究所 版本1.0.2,更新日期:2020年8月31日 本项目永久地址:https://git ...
- shell笔记之sed编辑器的基础用法(上)
在开始写之前,先申明,本文是自己看书后,用自己的语言总结下来的笔记,如有不对之处,还请各位博友予以指正. shell脚本最常用的功能之一就是处理文本文件,我们利用编写的shell脚本可以简化重启服务器 ...
最新文章
- Windows下MongoDB安装及创建用户名和密码
- mysql 导入设置编码_从MySQL导出导入数据库的命令实例及设置会话字符编码
- Spring Boot 2.x基础教程:Swagger静态API文档的生成
- 算法积累之算法时间复杂度
- hdu 1757 矩阵连乘
- 简单七步让你轻松安全迁移网站
- 单例 (Singleton)设计模式
- win7 php zend,win7系统打开WZend Studio PHP出错的解决方法
- $_FILES[file]['error']
- Placement new的用法及用途【转】
- 一文解决十大排序算法(动画图解)
- Excel怎么区分中文英文
- 登陆注册页面html代码(仿知乎)
- 【RFID】RFID的标准体系
- 【LaTeX】对表格中的内容添加脚注不显示
- 驰骋山海间,天地亦征途——记2022云创大数据优秀员工西域狂野自驾之旅
- linux 系统的磁盘 mbr 转gpt方法
- vs2012中将图片放到resource中进行调用
- dgraph部署和使用
- 区块链技术解决投行电子底稿监管痛点 中国证券业协会在“中证链”发布首个应用
热门文章
- 江西计算机一级考试教程,江西省2019年下半年计算机一级考试复习教程:计算机基础及MS Office应用上机指导...
- Codechef January Challenge 2018 - Killjee and k-th letter
- centos 系统管理维护指南
- php导出excel时间错误(同一个时间戳,用date得到不同的时间)
- 通过wifi调试Android程序
- 笔记本电脑频繁自动重启_笔记本电脑自动重启是什么原因
- 树莓派外设开发基础(wiringPi库)
- vue插槽面试题_关于前端Vue框架的面试题,面试官可能会问到哪些。?
- 电脑选购:看完才明白,一体机和台式机电脑哪个好?
- 程序员编程必备名言佳句,提升装逼指数~