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

2021/5/20 7:25:45

本文主要是介绍Linux 私房菜————Shell脚本命令(六)sed编辑器|读取过程|执行过程|显示过程|,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

sed编辑器

  • 1.sed编辑器
  • 2.sed工作流程
  • 3.命令格式
  • 4.常用选项
  • 5.常用操作
  • 6.例题
    • 6.1 打印
    • 6.2打印第一行
    • 6.3打印一到三行
    • 6.4打印第一行和第三行
    • 6.5打印一到三行
    • 6.6 打印五行后退出
    • 6.7 打印奇数行 n表示移动到下一行
    • 6.8 删除所有内容
    • 6.9 删除第三行内容
    • 6.10 从一个位置2打开删除功能,从二个位置3关闭删除功能

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还会打开删除功能,如果碰不到就删到底



这篇关于Linux 私房菜————Shell脚本命令(六)sed编辑器|读取过程|执行过程|显示过程|的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程