简介:

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. 谈谈HashSet的存储原理及为什么重写equals必须重写hashcode方法

    HashSet的存储原理: 1.将要传入的数据根据系统的hash算法得到一个hash值: 2.根据hash值可以得出该数据在hash表中的位置: 3.判断该位置上是否有值,没有值则把数据插入进来:如果 ...

  2. 014、Java中byte自动转型的操作

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

  3. 008.CI4框架CodeIgniter, Controller控制器传输参数到View视图

    01. 在CI4中输出VIEW视图,并且传入参数,代码如下: <?php namespace App\Controllers; class Home extends BaseController ...

  4. 无法识别的配置节 system.webServer

    Web.config文件里面加入 <configSections> <section name="system.webServer" type="Sys ...

  5. yolov3.cfg参数解读

    对于模型的优化,我们可以通过适当修改网络基本配置信息完成训练上的优化. yolov3.cfg文件: [net]# Testing #测试模式 batch=1 subdivisions=1# Train ...

  6. 京东云与AI 10 篇论文被AAAI 2020 收录,京东科技实力亮相世界舞台

    美国时间2月7-12日,AAAI 2020大会在纽约正式拉开序幕,AAAI作为全球人工智能领域的顶级学术会议,每年评审并收录来自全球最顶尖的学术论文,这些学术研究引领着技术的趋势和未来.京东云与AI在 ...

  7. 标准C的标记化结构初始化语法

    1 struct file_operations { 2         struct module *owner; 3         loff_t (*llseek) (struct file * ...

  8. G. Repeat it

    G. Repeat it time limit per test 2.0 s memory limit per test 64 MB input standard input output stand ...

  9. Acwing199 余数之和

    原题面:https://www.acwing.com/problem/content/201/ 题目大意:给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 ...

  10. springcloud--ribbo(负载均衡)

    ribbo:是Netflix公司开源的一个负载均衡的项目,是一个客户端负载均衡器,运行在客户端上. 实际运用案例(基于springcloud入门案例): 一.新建Module:springcloud- ...