sed用法
Posted wclwcw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sed用法相关的知识,希望对你有一定的参考价值。
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行
[[email protected] ~]# sed -n ‘2‘p /etc/passwd
bin:x:1:1:bin:/bin:/sbin/nologin
显示/etc/passwd文件的1到5行
[[email protected] ~]# 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
[[email protected] ~]# sed -n ‘/zabbix/‘p /etc/passwd
zabbix:x:498:498:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin
匹配指定行特定字符zabbix
[[email protected] ~]# sed -n ‘30,/zabbix/‘p /etc/passwd
zabbix:x:498:498:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin
匹配元字符
[[email protected] ~]# sed -n ‘/\$/‘p quote.txt
$$dsf
显示所有文件内容
[[email protected] ~]# sed -n ‘1,$‘p quote.txt
1233
wqw
qdfsf
dfsdf
sdfg
dssg
dgsdx
sfsdf
$$dsf
sdsdf
ds
fs
sdf
匹配任意字符s使用.*号码匹配,下面示例位匹配包含sdf字符串
[[email protected] ~]# sed -n ‘/.*sdf/‘p quote.txt
dfsdf
sdfg
sfsdf
sdsdf
sdf
匹配首行
sed -n ’1‘p /etc/passwd
匹配末尾号
sed -n ‘$‘p /etc/passwd
打印匹配模式行号使用=
[[email protected] ~]# sed -e ‘/sdsdf/=‘ quote.txt
1233
wqw
qdfsf
dfsdf
sdfg
dssg
dgsdx
sfsdf
$$dsf
10
sdsdf
ds
fs
sdf
只显示匹配模式的行和行号
[[email protected] ~]# sed -ne ‘/sdsdf/‘p -e /‘sdsdf/=‘ quote.txt
sdsdf
10
删除文本
以上是关于sed用法的主要内容,如果未能解决你的问题,请参考以下文章