Linux 私房菜————Shell脚本命令(六)sed编辑器|读取过程|执行过程|显示过程|

1.sed编辑器

  • sed是一种流编辑器,流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。

2.sed工作流程

  • 读取: sed从输入流 (文件、管道、标准输入) 中读取一行内容并存储到临时的缓冲区中(又称模式空间,pattern space)
  • 执行:默认情况下,所有的sed命令都在模式空间中顺序地执行,除非指定了行的地址,否则sed命令将会在所有的行上依次执行。
  • 显示:发送修改后的内容到输出流。在发送数据后,模式空间将会被清空。在所有的文件内容都被处理完成之前,上述过程将重复执行,直至所有内容被处理完。

3.命令格式

sed [选项] '操作' file1 file2
sed [选项] 'n{
操作1
操作2
...
}' file1 file2 ...

n代表行数

4.常用选项

-e 或 --expression=表示用指令命令来处理输入的文本文件
-f 或 --file=表示用指定的脚本文件来处理输入的文本文件
-n --quiet 或 silent禁止sed编辑器输出,但可以与p命令一起使用完成输出
-i直接修改目标文本文件

5.常用操作

s替换替换指定字符
d删除删除选定的行
a增加在当前行下面增加一行指定内容
i插入在选定行上面插入一行指定内容
c替换将选定行替换为指定内容
y字符转换转换前后的字符同
p打印如果同时指定行则打印指定行,如果不指定则打印所有内容,如果有非打印字符则以 ASSCII 码输出

6.例题

6.1 打印

在这里插入图片描述

6.2打印第一行

sed -n '1p'  a.txt

在这里插入图片描述

6.3打印一到三行

sed -n '1,3p' a.txt

在这里插入图片描述

6.4打印第一行和第三行

sed -n '1p;3p' a.txt

在这里插入图片描述

6.5打印一到三行

sed -n '1,+2p' a.txt

在这里插入图片描述

6.6 打印五行后退出

sed '5q' a.txt

在这里插入图片描述

6.7 打印奇数行 n表示移动到下一行

sed -n 'p;n' a.txt

在这里插入图片描述

6.8 删除所有内容

sed 'd' a.txt

在这里插入图片描述

6.9 删除第三行内容

sed '3d' a.txt

在这里插入图片描述

6.10 从一个位置2打开删除功能,从二个位置3关闭删除功能

sed '/2/,/3/d' a.txt``

在这里插入图片描述
如果又碰到了位置2还会打开删除功能,如果碰不到就删到底

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值