简介:

sed是一种流编辑器,它是文本处理中非常重要的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出或者使用直接编辑文件选项-i。sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。

sed 命令格式为:

sed [options] 'command' file(s)

sed [options] -f scriptfile file(s)

sed 常用命令:

1.替换操作:s命令

替换文本中的字符串:

sed 's/abc/ABC/' file_input #若想要进行全局替换:sed's/abc/ABC/g' file_input

2.删除插入操作:di命令

sed '/^test/' d file #删除文件中所有以test开头的行

sed '2,$d' file #删除文件从第二行到末尾的所有行

sed '/^$/d' file #删除文件中所有的空白行

3.标记以匹配字符串:&

sed 's/^abc/&def' file #所有以abc开头的行都会被替换成它自己加def

4.多点编辑:e命令

sed -e '1,3d' -e 's/abc/def/' file #-e选项允许在同一行里执行多条命令

5.写入文件:w命令

sed -n '/abc/w file1' file2 #在file2中,所有包含abc的行都被写入file1

6.打印奇数行偶数行

example1:sed -n 'p;n' file #打印奇数行

sed -n 'n;p' file #打印偶数行

example2:sed '1~2p' file #打印奇数行

sed '2~2p' file #打印偶数行

sed使用案例的更多相关文章

  1. awk 和 sed 使用案例

    1.模仿wc的行为,统计一个文本文件的文件的字符数.行数.单词数. awk '{numOfChar+=length($0);numOfWord+=NF}END{print numOfChar" ...

  2. sed 实践案例 (不定期更新)

    删除每行第一个字符 sed -r 's/^.//g' /etc/passwd 删掉每行第二个字符 sed -r 's/^(.)(.)/\1/g' /etc/passwd 删掉每行最后一个字符 sed ...

  3. linux正则sed实战案例详解

    目录 1. 将nginx.conf中的注释全部去掉 2. 将nginx.com中每一行之前增加注释 3.要求一键修改本机的ip 4.将/etc/passwd中的root修改成ROOT 1. 将ngin ...

  4. Linux安全基础:sed命令的使用

    sed 是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作. Sed本质上是一个编辑器,但是它是非交互式的,这点与VIM不同:同时 ...

  5. linux sed的使用

    sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理, 可以将数据行进行替换.删除.新增.选取等特定工作. sed本质上是一个编辑器,但是它是非交互式的,这点与VIM不同:同时 ...

  6. Linux sed使用方法

    目录 sed处理流程 测试数据 sed命令格式 sed命令行格式 行定位 定位1行 定位区间行(多行) 定位某一行之外的行 定位有跨度的行 操作命令 -a (新增行) -i(插入行) -c(替代行) ...

  7. sed 增删改查详解以及 sed -i原理

    我为什么要详细记录sed命令:     sed 擅长取行.工作中三剑客使用频率最高,本篇文章将对sed命令常用的 增,删,改,查 进行详细讲解,以备以后工作中遗忘了查询,sed命令是作为运维人员来说, ...

  8. sed 和awk的执行方式

    sed 测试案例: 在有cat的行末开始追加<---,直到有dog的行结束 [root@L shells]# cat catDog.txt snake snake pig bird dog ca ...

  9. Shell基础(五):sed基本用法、使用sed修改系统配置、sed多行文本处理、sed综合脚本应用

    一.sed基本用法 目标: 本案例要求熟悉sed命令的p.d.s等常见操作,并结合正则表达式,完成以下任务: 1> 删除文件中每行的第二个.最后一个字符    2> 将文件中每行的第一个. ...

随机推荐

  1. http协议请求报文与响应报文分析

    什么是HTTP协议: HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到 不断地完善和扩展.目前在WWW中使用 ...

  2. mysql limit查询入门

  3. VMWare 禁用vmem虚拟内存文件

    使用 VMWare 虚拟机,虚拟机启动后,会在虚拟机目录下建立一个与虚拟内存大小相同的 .vmem文件 这个文件主要是将虚拟机内存的内容映射到磁盘,以支持在虚拟机的暂停等功能 对所有的虚拟机" ...

  4. ②java基础——标识符、关键字和基础数据类型

    Java标识符: 1.由英文字母.数字._(下划线)和$组成,长度不限.其中英文字母包含大写字母(A~Z)和小写字母(a~z),数字包含0到9 2.标识符的第一个字符不能是数字(即标识符不能以数字开头 ...

  5. 05 MySQL数据类型的选择与使用

    数据类型的选择     1.CHAR与VARCHAR           存储/检索的方式不同.         CHAR是固定长度,而VARCHAR是可变长度         非SQLMode下,超 ...

  6. Linux netfliter 架构

    netfliter 简介 netfilter是在Linux 2.4.X内核引入的一个子系统,它提供了一个抽象的.通用框架,这个框架提供了一整套的钩子函数的管理机制.包括钩子函数的原型定义,注册,注销等 ...

  7. 滑条滚动发请求要用Debounce

    import debounce from 'lodash.debounce'; this.deboucedFunc = debounce(this.viewModel.v_onHomeworkRequ ...

  8. 七十八、SAP中数据库操作之查询条数限制

    一.UP TO <数量> ROWS,表示查询出多少条数据 二.效果如下

  9. 四十九、在SAP中查看程序资源结构对象

    一.在屏幕上点击这个品图标,相关说明如下图 二.使用这个程序资源结构对象可以很方便的定位

  10. 第一个flink application

    导入maven依赖 需要注意的是,如果使用scala写程序,导入的依赖跟java是不一样的 Maven Dependencies You can add the following dependenc ...