当前位置:首页>微思动态 > >详情
全国热线电话 400-881-4699

在线留言

【系列】每天一个 Linux 命令(17):sed 命令

发布作者:微思网络   发布时间:2025-12-03   浏览量:0


图片



红帽 Linux 近期开班

RHCE  2026年1月31日    周末班

红帽RHCE9.0课程介绍


图片

sed 命令来自英文词组 stream editor 的缩写,其功能是利用语法/脚本对文本文件进行批量 的编辑操作。sed 命令最初由贝尔实验室开发,后被众多 Linux 系统集成,能够通过正则表达 式对文件进行批量编辑,让重复性的工作不再浪费时间。


1.命令格式:

sed   参数  文件名


2.命令参数:

-e   使用指定脚本处理输入的文本文件

-f    使用指定脚本文件处理输入的文本文件

-h   显示帮助信息

-i    直接修改文件内容,而不输出到终端

-n   仅显示脚本处理后的结果

-r    支持扩展正则表达式

-v   显示版本信息


3.  参考示例:


查找指定文件中带有某个关键词的行: 

[root@linuxcoo1 ~]# cat -n file.cfg | sed -n '/root/p'

  20  rootpw  --  iscrypted  $6$c2VGkv/8C3IEwtRt$iPEjNXm16v5KEmcM9okIT.Op9/LEpFejqR.

kmQWAVx7f1a3roq.3MMVKDahnv01/pONz2wMNecy17WJ8Ib0iO1

  40 pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty


 将指定文件中某个关键词替换成大写形式:

[root@1inuxcoo1 ~]# sed 's/root/ROOT/g'File.cfg

.......….…………省略输出信息.................

 

 读取指定文件,删除所有带有某个关键词的行:

[root@linuxcoo1 ~]# sed '/root/d'File.cfg

...........…………省略输出信息.................

 

 读取指定文件,删除所有带有某个关键词的行:

[root@linuxcool ~]# sed '/root/d' File.cfg

…........….…省略输出信息.....-----....


读取指定文件,在第4行后插入一行新内容:

[root@linuxcool ~]# sed -e 4a\NewLine File.cfg#version=RHEL8

ignoredisk --only-use=sda

autopart --type=1vm

# Partition clearing informationNewLine

.........……………….省略部分输出信息..................


读取指定文件,在第4行后插入多行新内容:

[root@linuxcool ~]# cat File.cfg | sed -e '4a NewLine1\

> NewLine2\

> NewLine3'#version=RHEL8

ignoredisk --only-use=sdaautopart --type=1vm# Partition clearing informationNewLine1NewLine2NewLine3

clearpart --none --initlabel# use graphical installgraphical

..........…….省略部分输出信息..............

 

读取指定文件,删除第2~5行的内容:

[root@linuxcool ~]# cat -n /etc/passwd | sed '2,5d'

1 root:x:0:0:root:/root:/bin/bash

6 sync:x:5:0:sync:/sbin:/bin/sync

7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

8 halt:x:7:0:halt:/sbin:/sbin/halt

………………省略部分输出信息................


读取指定文件,替换第 2~5 行的内容:

[root@linuxcool ~]# sed '2,5c NewSentence' File.cfg 

#version=RHEL8   

NewSentence 

# Use graphical install   

graphical 

repo -- name="AppStream" --baseurl=file:///run/install/repo/AppStream 

# Use CDROM installation media   

cdrom 

………………省略部分输出信息………………


读取指定文件的第 3~7 行:

[root@linuxcool ~]# sed -n '3,7p' File.cfg   

autopart --type=lvm 

# Partition clearing information   

clearpart --none --initlabel 

# Use graphical install   

graphical






END

1微思网络,始于2002年

专业IT认证培训23年,面向全国招生!


点击查看更多【培训课程目录】

图片

图片



返回顶部