码迷,mamicode.com
首页 > 其他好文 > 详细

sed用法

时间:2016-12-07 01:19:51      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:键盘   标准输入   system   用法   ring   bin   特定   标准   另一个   

    sed是一个非交互性文本流编辑器。他、它编辑文件或标准输入导出的文本拷贝,标准输入可能是来自键盘、文件重定向、字符串或变量。或者是一个管道文本,sed可以做哪些工作呢?

sed命令用来编辑

sed命令用来删除

sed命令允许工作不在现场,一次性处理所有改变,节省用户时间

sed在文件中定位文本的方式

x                                    为一行号,如1

x,y                                 表示行号范围,如2,5,表示从第二行到第五行

/pattern/pattern/             查询包含两个模式的行,如/wang/wangs/

pattern/,x                       在指定行查询匹配模式,如wang/,3

x,y!                                查询不包含指定行号x和y。1.2!

基本编辑命令

p                                   打印匹配行    

=                                   显示匹配文件行号

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

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

d                                   删除定位行

c\                                  用新文本替换定位文本

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

r                                   从另一个文件中读文本

w                                  写文本到一个文件

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

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

{}                                在定位行执行命令组

n                                  从另一个文件中读文本下一行,并附加在下一行

g                                  将模式2粘贴到/pattern n/

y                                  传送字符

n                                  延续到下一输出行,允许跨行模式的匹配语句

特殊注意

sed如果需要定位匹配特殊字符,在字符前面一定要添加字符\,屏蔽该特殊字符的特殊含义

示例:

显示/etc/passwd文件的第2行

[root@template ~]# sed -n ‘2‘p /etc/passwd
bin:x:1:1:bin:/bin:/sbin/nologin

显示/etc/passwd文件的1到5行

[root@template ~]# sed -n ‘1,5‘p /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

匹配特定字符zabbix

[root@template ~]# sed -n ‘/zabbix/‘p /etc/passwd
zabbix:x:498:498:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin

匹配指定行特定字符zabbix

[root@template ~]# sed -n ‘30,/zabbix/‘p /etc/passwd
zabbix:x:498:498:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin

匹配元字符

[root@template ~]# sed -n ‘/\$/‘p quote.txt
$$dsf

显示所有文件内容

[root@template ~]# sed -n ‘1,$‘p quote.txt
1233
wqw
qdfsf
dfsdf
sdfg
dssg
dgsdx
sfsdf
$$dsf
sdsdf
ds
fs
sdf

匹配任意字符s使用.*号码匹配,下面示例位匹配包含sdf字符串

[root@template ~]# sed -n ‘/.*sdf/‘p quote.txt
dfsdf
sdfg
sfsdf
sdsdf
sdf

匹配首行

sed -n ’1‘p /etc/passwd

匹配末尾号

sed -n ‘$‘p /etc/passwd

打印匹配模式行号使用=

[root@template ~]# sed -e ‘/sdsdf/=‘ quote.txt
1233
wqw
qdfsf
dfsdf
sdfg
dssg
dgsdx
sfsdf
$$dsf
10
sdsdf
ds
fs
sdf

只显示匹配模式的行和行号

[root@template ~]# sed -ne ‘/sdsdf/‘p -e /‘sdsdf/=‘ quote.txt
sdsdf
10

删除文本

sed用法

标签:键盘   标准输入   system   用法   ring   bin   特定   标准   另一个   

原文地址:http://www.cnblogs.com/wclwcw/p/6118068.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!