LINUX命令之sed

本文详细介绍了sed命令的常用选项,如-i进行直接修改、-e执行指令、-n控制输出等。还讲解了编辑命令如a、c、i、d、s以及打印和文件操作的r和w。重点展示了替换功能的语法和多个替换规则的使用方法。

一、sed 命令选项

sed常用选项

-i : 直接在文件上编辑
-e[默认选项]: 只在命令行输出, 而文件不改变

sed 的常用其他选项:

-r: 使用扩展正则表达式
-e: 它告诉 sed 将下一个参数解释为一个 sed 指令, 只有当命令行上给出多个 sed 指令时才需要使用-e 选项
-f: 后跟保存了 sed 指令的文件
-i: 直接对内容进行修改, 不加-i 时默认只是预览
-n: 取消默认输出, sed 默认会输出所有文本内容, 使用-n 参数后只显示处理过的行

sed 中的编辑命令:

a: 追加 向匹配行后面插入内容
c: 更改 更改匹配行的内容
i: 插入 向匹配行前插入内容
d: 删除 删除匹配的内容
s: 替换 替换掉匹配的内容
p: 打印 打印出匹配的内容, 通常与-n 选项和用
=: 用来打印被匹配的行的行号
n: 读取下一行, 遇到 n 时会自动跳入下一行
r,w: 读和写编辑命令, r 用于将内容读入文件, w 用于将匹配内容写入到文件

使用

1. 替换

sed 替换的基本语法为:

sed 's/原字符串/替换字符串/'

特殊字符需要使用反斜线 / 进行转义,单引号" ‘ ’“是没有办法用反斜线”"转义的, 这时候只要把命令中的单引号改为双引号就行了

# 要处理的字符包含单引号
sed "s/原字符串包含'/替换字符串包含'/" 

命令中的三根斜线分隔符可以换成别的符号, 只需要紧跟 s 定义即可。

# 将分隔符换成问号"?":
sed 's? 原字符串? 替换字符串? '

可以在末尾加 g 替换每一个匹配的关键字, 否则只替换每行的第一个, 例如:

# 替换所有匹配关键字
sed 's/原字符串/替换字符串/g'

多个替换可以在同一条命令中执行, 用分号";"分隔, 其格式为:

# 同时执行两个替换规则
sed 's/^/添加的头部&/g; s/$/&添加的尾部/g'

原文链接:https://blog.youkuaiyun.com/wan212000/article/details/128971900

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值