Linux Sed 指令

$ sed [参数选项] [脚本命令] 文件名


命令  功能
a\  在当前行后添加一行或多行。多行时除最后一行外,每行末尾需用“\”续行
c\  用此符号后的新文本替换当前行中的文本。多行时除最后一行外,每行末尾需用"\"续行
i\  在当前行之前插入文本。多行时除最后一行外,每行末尾需用"\"续行
d   删除行
h   把模式空间里的内容复制到暂存缓冲区
H   把模式空间里的内容追加到暂存缓冲区
g   把暂存缓冲区里的内容复制到模式空间,覆盖原有的内容
G   把暂存缓冲区的内容追加到模式空间里,追加在原有内容的后面
l   列出非打印字符
p   打印行
n   读入下一输入行,并从下一条命令而不是第一条命令开始对其的处理
q   结束或退出sed
r   从文件中读取输入行
!   对所选行以外的所有行应用命令
s   用一个字符串替换另一个
g   在行内进行全局替换
w   将所选的行写入文件
x   交换暂存缓冲区与模式空间的内容
y   将字符替换为另一字符(不能对正则表达式使用y命令)

参数
-p print 
-d delete
= 打印匹配行的行号
-n 取消默认的完整输出,只要需要的  
-e 允许多项编辑
-i 修改文件内容
-r 不需要转义
注意:& 符号在sed命令中代表上次匹配的结果

// 打印 3-9 行
sed -n '3,9p' filename 

// 打印包含 str 字符的行
sed -n '/str/p' filename 

// 打印包含"start_num"的行到包含"end_num"的行之间的行
sed -n '/start_num/,/end_num/p' filename
// 打印包含 str 字符的行号
sed -n '/str/=' filename
// 用 distStr 替换 srcStr
sed -i 's/srcStr/distStr/g' filename
// 用 distStr 替换 srcStr 并放在另一个文件中
sed 's/srcStr/distStr/g' srcFilename > targetFilename
// 每行的行首添加 str 字符
sed 's/^/str&/g' filename
// 每行的行尾添加 str 字符
sed 's/$/&str/g‘ filename

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值