sed编辑命令

Posted ggzhangxiaochao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sed编辑命令相关的知识,希望对你有一定的参考价值。

sed的编辑命令(sed command):

p

打印匹配行(和-n选项一起合用)

=

显示文件行号

a

在定位行号后附加新文本信息

i

在定位行号后插入新文本信息

d

删除定位行

c

用新文本替换定位文本

w filename

写文本到一个文件,类似输出重定向 >

r filename

从另一个文件中读文本,类似输入重定向 <

s

使用替换模式替换相应模式

q

第一个模式匹配完成后退出或立即退出

l

显示与八进制ACSII代码等价的控制符

{}

在定位行执行的命令组,用分号隔开

n

从另一个文件中读文本下一行,并从下一条命令而不是第一条命令开始对其的处理

N

在数据流中添加下一行以创建用于处理的多行组

g

将模式2粘贴到/pattern n/

y

传送字符,替换单个字符

对文件的操作无非就是”增删改查“,怎样用sed命令实现对文件的”增删改查“,玩转sed是写自动化脚本必须的基础之一。

sed命令打印文件信息(查询):

#打印前5行 
[root@zhangchao ~]# sed 5 q /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sed-n /r*t/p/etc/passwd#打印匹配r有0个或者多个,后接一个t字符的行  
sed-n /.r.*/p/etc/passwd#打印匹配有r的行并且r后面跟任意字符  
sed-n /o*/p/etc/passwd#打印o字符重复任意次  
sed-n /o{1,}/p/etc/passwd#打印o字重复出现一次以上  
sed-n /o{1,3}/p/etc/passwd#打印o字重复出现一次到三次之间以上

####用sed打印文件的信息的例子的命令######  
sed -n /^#/!p  /etc/vsftpd/vsftpd.conf         
sed -n /^#/!{/^$/!p}  /etc/vsftpd/vsftpd.conf  
sed -e /^#/d -e /^$/d  /etc/vsftpd/vsftpd.conf  
sed -n 1,/adm/p /etc/passwd  
sed -n /adm/,6p /etc/passwd  
sed -n /adm/,4p /etc/passwd  
sed -n /adm/,2p /etc/passwd 

技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

以上是关于sed编辑命令的主要内容,如果未能解决你的问题,请参考以下文章

shell法宝之sed,修改文件内容的好帮手

文本编辑命令——sed

sed命令

Sed编辑器

shell下的sed命令

shell脚本sed命令行编辑器