IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> shell——文本三剑客之sed命令 -> 正文阅读

[系统运维]shell——文本三剑客之sed命令

目录

一.sed命令

1.sed功能

2.命令格式

3.常用选项

4.常用操作?

二.sed命令的使用

1.打印内容

2.打印行号和文本

3.使用地址

1.查看任意文本行

2.查看奇偶数行?

3.查看一段时间内的文本内容

4.删除行

5.替换

6.插入


一.sed命令

1.sed功能

sed是行编辑器

Sed是从文件或管道中读取一行,处理一行,输出一行;再读取一行,再处理一行,再输出一行,直到最后一行。每当处理一行时,把当前处理的行存储在临时缓冲区中,称为模式空间(PatternSpace) ,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。一次处理一行的设计模式使得sed性能很高 , sed在读取大文件时不会出现卡顿的现象。如果使用vi命令打开几十M上百M的文件,明显会出现有卡顿的现象,这是因为vi命令打开文件是一-次性将文件加载到内存,然后再打开。Sed就避免了这种情况,一行一行的处理,打开速度非常快,执行速度也很快?

2.命令格式

格式一:
sed [选项] '操作' 文件1  文件2...

格式二:
sed [选项] '选项{
操作1
操作2
...
}' 文件1  文件2...

3.常用选项

命令作用
-e 或–expression=表示用指定命令来处理输入的文本文件,只有一个操作命令时可省略,一般在执行多个操作命令使用
-f 或–file=表示用指定的脚本文件来处理输入的文本文件。
-h 或–help显示帮助。
-n、–quiet 或 silent禁止sed编辑器输出,但可以与p命令一起使用完成输出
-i直接修改目标文本文件。

4.常用操作?

s替换,替换指定字符
d删除,删除选定的行
a增加,在当前行下面增加一行指定内容
i插入,在选定行上面插入一行指定内容
c替换,将选定行替换为指定内容
y字符转换,转换前后的字符长度必须相同
p打印,如果同时指定行,表示打印指定行;如果不指定行,则表示打印所有内容;如果有非打印字符,则以 ASCII 码输出。其通常与“-n”选项一起使用。 =:打印行号
l打印数据流中的文本和不可打印的ASCII字符(比如结束符$、制表符\t)

二.sed命令的使用

1.打印内容

[root@oyyy ~]# sed ' ' /etc/fstab? ? ? ?打印/etc/fstab文件的内容

[root@oyyy ~]# sed -n 'p' /etc/fstab? 打印/etc/fstab文件的内容

?[root@oyyy ~]# sed -n '=' /etc/fstab?

[root@oyyy ~]# sed -n 'l' /etc/fstab??打印不显示的ASCII字符

2.打印行号和文本

①[root@oyyy ~]# sed -n '=;p' /etc/fstab?

②[root@oyyy ~]# sed -n -e '=' -e 'p' /etc/fstab?

③[root@oyyy ~]# sed -n '
> =
> p
> ' /etc/fstab

3.使用地址

1.查看任意文本行

打印第一行
sed -n '1p' 文件

打印最后一行
sed -n '$p' 文件

打印1到3行
sed -n '1,3p' 文件

打印1到后面3行
sed -n '1,+3p' 文件 (即打印四行)

2.查看奇偶数行?

[root@oyyy ~]# sed -n 'p;n' /etc/fstab? ??打印奇数行;n表示移动到下一行

[root@oyyy ~]# sed -n 'n;p' /etc/fstab? ??打印偶数行

[root@oyyy ~]# sed -n '1~2p' /etc/fstab?

[root@oyyy ~]# sed -n '2~2p' /etc/fstab?

3.查看一段时间内的文本内容

4.删除行

[root@oyyy ~]# cat 1.txt |sed '1~2d'? 删除奇数行内容

[root@oyyy ~]# cat 1.txt |sed '2~2d'??删除偶数行内容

?[root@oyyy ~]# sed -i '2d' 1.txt?删除第二行内容

?[root@oyyy ~]# sed -i '2a\\n ooo' 1.txt?

修改文件内部需要多加一个\

?[root@oyyy ~]# seq 10 |sed '2a\hehe\nooo'

[root@oyyy ~]# seq 10 |sed -n '2!p'

5.替换

行范围 s/旧字符串/新字符串/替换标记

标记作用
数字标明新字符串将替换第几处匹配的地方
g表明新字符串将会替换所有匹配的地方
p打印与替换命令匹配的行,与-n一起使用
w 文件将替换的结果写到文件中
sed -n 's/root/admin/p' /etc/passwd?? ??? ??? ?将/etc/passwd文件中的root替换成admin并打印替换后的内容,同行出现多个root时只替换第一个
sed -n 's/root/admin/2p' /etc/passwd?? ??? ?将/etc/passwd文件中同一行中的第二个root替换成admin并打印替换后的整行内容
sed -n 's/root/admin/gp' /etc/passwd?? ??? ?将/etc/passwd文件中的root全部替换成admin并打印替换后的内容

[root@oyyy ~]# sed -n 's/root/admin/p' /etc/passwd

[root@oyyy ~]# sed -n 's/root/admin/2p' /etc/passwd

[root@oyyy ~]# sed -n 's/root/admin/gp' /etc/passwd

[root@oyyy ~]# sed '1,20 s/^/#/' /etc/passwd?

?root@oyyy ~]# sed '/^root/ s/$/#/' /etc/passwd

?[root@oyyy ~]# sed '1,20w ooo.txt' /etc/passwd

6.插入

[root@oyyy ~]# echo 123abcxxx |sed -r 's/(123)(abc)(xxx)/\1\3/'

[root@oyyy ~]# echo 123abcxxx |sed -r 's/(123)(abc)(xxx)/\1/'

截取IP地址

[root@oyyy ~]# ifconfig ens33 |sed -nr '2s/.*inet ([0-9.]+) .*/\1/p'

[root@oyyy ~]# echo /etc/sysconfig/network-scripts/ifcfg-ens33 |sed -nr 's@^(.*)/([^\]+)@\1@p'
?[root@oyyy ~]# echo /etc/sysconfig/network-scripts/ifcfg-ens33 |sed -nr 's@^(.*)/([^\]+)@\2@p'

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-27 13:11:54  更:2021-10-27 13:13:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 23:03:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码