Linux 命令sed 学习

11 篇文章 0 订阅

Linux 命令

sed常用的命令选项表
命令选项功能描述
-r支持正则表达式
-i[SUFFIX]直接修改源文件,如果设置了SUFFIX 后缀名,sed会将数据备份
-n ,–silent屏蔽默认输出功能,默认sed会把匹配到的数据显示到屏幕上
-e指定需要执行的sed 指令,支持使用多个带 -e 参数
-f指定需要执行的脚本,需要 提前将sed 指令写入文件中
sed 基本操作指令
基本操作指令功能描述
p打印当前匹配数据行
l小写L ,打印当前匹配的数据行(显示控制字符,如回车)
=打印当前读取的数据行
a text匹配的数据行后追加文本内容
i text匹配的数据行前追加文本内容
d删除匹配的数据行整行内容
c text将匹配的数据行整行内容替换为特定的内容
r filename从文件中读取数据并追加到匹配的数据行后面
w filename将匹配到的数据写入特定的文件中
q [exit code]立刻退出sed 脚本
s/regexp/replace/使用正则匹配,将匹配到的数据替换为特定的内容

sed 指令执行前需要根据条件定位需要处理的数据行,如果没有指定定位条件行,则默认sed 会对所有数据执行特定的指令。

sed 支持的数据定位方法
格式功能描述
number直接根据行号匹配
first~step从first 行开始,步长为step,匹配所有满足条件的数据行
$匹配最后一行
/regexp/使用正则表达式匹配数据行
\cregexpc使用正则表达式匹配数据行,c 可以是任意字符
addr1,addr2直接使用行号定位,匹配从addr1到addr2的所有行
addr1,+N直接使用行号定位,匹配从addr1以及后面的N行
基本用法

sed 命令选项  '定位方式 基本操作' 操作文件
# 先新建一个text.txt 文件 , 可以针对 txt 文件进行查找
#显示第 1 、3 、5 行
sed -n '1p;3p;5p' text.txt
# 执行两条 指令
sen -n -e '1p' -e '/text/l' text.txt
sed 高级指令
高级指令功能描述
h将模式空间的数据复制到保留空间
H将模式空间的数据追加到保留空间
g将保留空间的数据复制到模式空间
G将保留空间的数据追加到模式空间
x将模式空间和保留空间的数据对调
n读取下一行数据到模式空间
N读取下一行数据追加到模式空间
y/源文件/目标文件以字符为单位将源字符转为目标字符
:label为t或者b指令定义label标签
t label有条件跳转到标签(label),如果没有label则跳转到指令的结尾
b label跳转到标签label ,如果没有label 则跳转到指令的结尾
  • sed 在对数据进行编辑的时候需要先将读取的数据写入模式空间,而sed 除了有一个用于临时存储的模式空间,还设计有一个保留空间,保留空间中默认仅包含有一个回车符。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值