Linux文本处理工具sed(流编辑器)

news/2024/6/17 12:21:08 标签: linux, shell

文章目录

  • Linux文本处理工具sed(流编辑器)
  • 1. 数据文件sed.tx
  • 2.将 “Lucy 女 29”插入到sed.txt的第三行
  • 3. 删除sed.txt中包含Lily的hang
  • 4. 将sed.txt中Lily替换为Lucy
  • 5. 将sed.txt文件中第2行删除并将Lily替换为Lucy

Linux文本处理工具sed(流编辑器)

sed是一种流编辑器,它一次处理一行内容。
处理时,把当前处理的行存储在临时缓冲区(模式空间)中,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送到屏幕。接着处理下一行,这样不断重复直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。

  1. 基本用法
    sed[选项参数] ‘command’ filename
  2. 选项参数
    -e:直接在指令列模式上进行sed的动作编辑
  3. 命令功能
    a:新增,a的后面可以接字符串,在下一行出现
    d:删除
    s:查找并替换

1. 数据文件sed.tx

张三 男 28
李四 男 31
Lily 女 32

2.将 “Lucy 女 29”插入到sed.txt的第三行

sed ‘2a Lucy 女 29’ sed.txt

shell">[root@localhost jiaoben]# cat sed.txt
张三 男 28
李四 男 31
Lily 女 32
[root@localhost jiaoben]# sed '2a Lucy 女 29' sed.txt
张三 男 28
李四 男 31
Lucy 女 29
Lily 女 32
[root@localhost jiaoben]# cat sed.txt
张三 男 28
李四 男 31
Lily 女 32

sed.txt 文件并没有改变

3. 删除sed.txt中包含Lily的hang

sed ‘/Lily/d’ sed.txt

shell">[root@localhost jiaoben]# cat sed.txt
张三 男 28
李四 男 31
Lily 女 32
[root@localhost jiaoben]# sed '/Lily/d' sed.txt
张三 男 28
李四 男 31

4. 将sed.txt中Lily替换为Lucy

sed ‘s/Lily/Lucy/g’ sed.txt

shell">[root@localhost jiaoben]# cat sed.txt
张三 男 28
李四 男 31
Lily 女 32
[root@localhost jiaoben]# sed 's/Lily/Lucy/g' sed.txt
张三 男 28
李四 男 31
Lucy 女 32

5. 将sed.txt文件中第2行删除并将Lily替换为Lucy

sed -e ‘2d’ -e ‘s/Lily/Lucy/g’ sed.txt

shell">[root@localhost jiaoben]# cat sed.txt
张三 男 28
李四 男 31
Lily 女 32
[root@localhost jiaoben]# sed -e '2d' sed.txt
张三 男 28
Lily 女 32
[root@localhost jiaoben]# cat sed.txt
张三 男 28
李四 男 31
Lily 女 32
[root@localhost jiaoben]# sed -e '2d' -e 's/Lily/Lucy/g' sed.txt
张三 男 28
Lucy 女 32

http://www.niftyadmin.cn/n/1712429.html

相关文章

字符串转整数 (atoi)

class Solution { public:int myAtoi(string str) {int length,i0,p;int start,end; //指向数字部分的开头和结尾下标lengthstr.length(); //字符串的长度while(str[i] ) //跳过去前面的空格字符i;if(str[i]>0&&str[i]<9){ //如果空格字符后面直接是数字部分…

Java 中怎么输入一个未知长度的 int 型数组元素

思路&#xff1a; &#xff08;使用字符串的模式输入格式&#xff09; java中可以直接输入字符串数组&#xff0c;但是输入int[] 数组时需要事先定义长度&#xff0c;但有些题目中的长度是可变的&#xff0c;不能事先固定数组长度。首先输入字符串的数组&#xff0c…

数据结构篇:图的遍历(二:广度优先遍历)

广度优先遍历&#xff0c;又称广度优先搜索&#xff0c;缩写BFS 如果说深度优先遍历是相当于树的前序遍历&#xff0c;那么&#xff0c;广度优先遍历就相当于树的层序遍历。 以上面那张图为例就是&#xff0c;ABFCIGEDH 代码实现 void AdjacencyList::BFSTraverse(GraphAdjL…

Mybatis 的工作原理及流程

1.介绍 MyBatis的底层操作封装了JDBC的API&#xff0c;MyBatis的工作原理以及核心流程与JDBC的使用步骤一脉相承&#xff0c;MyBatis的核心对象&#xff08;SqlSession&#xff0c;Executor&#xff09;与JDBC的核心对象&#xff08;Connection&#xff0c;Statement&#xff…

linux启动线程指令,Linux的使用

1、在Linux下玩DOOM游戏出问题的解决办法&#xff1f;要正确的音效输出&#xff0c;必需使用2.90版或以后的声音驱动程序&#xff1b;它支持即时“DOOM模式”&#xff0c;音效样本是16bit的&#xff0c;如用8bit声卡&#xff0c;可用一些程序让声音出现&#xff0c;如果DOOM动作…

linux显示空闲时间,如何在Windows,Linux和MacOS中确定Python的显示空闲时间?

如果您使用的PyGTK和X11在Linux上&#xff0c;你可以做这样的事情&#xff0c;这是基于什么洋泾浜的作用&#xff1a;import ctypesimport ctypes.utilimport platformclass XScreenSaverInfo(ctypes.Structure):_fields_ [(window, ctypes.c_long),(state, ctypes.c_int),(ki…

Git篇:Git上传文件出现Git-remote Incorrect username or password ( access token )

当我们不小心输错了码云或者GitHub的用户名或密码时&#xff0c;就会出现 Git-remote Incorrect username or password ( access token ) 怎么解决呢 进入控制面板 第一个是码云的&#xff0c;第二个是GitHub的。 编辑保存即可

嵌入式小型linux,构建小型嵌入式Linux系统.doc

构建小型嵌入式Linux系统.doc构建小型嵌入式Linux系统焦 扬2008.6.20目录1 编译linux最小内核31.1 准备内核源码31.2 配置内核41.3 内核配置结果141.4 内核配置总结152 用busybox 制作linux根文件系统162.1配置编译busybox172.2 创建rootfs 文件232.3 构建rootfs总结273 总结28…