sed & awk 101 hacks 学习笔记 -sed

本文详细介绍了sed命令的基本语法和常见用法,包括打印、删除、写入、替换等功能。通过实例展示了如何使用行地址范围、正则表达式以及如何将sed作为命令解释器来编写脚本。同时,文中还提到了与其他命令结合使用的技巧,如与awk的配合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sed 基本语法:
sed options ‘commands’ file
sed 首先从 file 中读取第一行,然后执行所有的 commands;
再读取第二行,执行 所有 sed-commands;
重复这个过程,直到 input-file 结束 。
(options是可选项,command必须加,如果直接sed file 会报missing commands,commands外面的’'可以不加)

commands可以为一个或多个

p : 打印command

一个是最简单形式,如:
sed -n p file:打印file所有内容到标准输出
多个稍微复杂,以两个为例,可以为command1&commmand2的与形式,也可以为command1 | command的或形式,如:
sed -n ‘/hi/p’ file :打印file中的匹配到hi的行
sed -n -e ‘/hi/p’ -e ‘/hello/p’ :打印file中匹配到hi或者hello的行
当commands很多时,可以用{}将所有commands包住,一行一个命令:
sed -n ‘{
/hi/p
/hello/p
/world/p
}’
当comands很多,而且有时需要后期修改时,上面更实用的方法是,将所有的commands写入文件file1中,用 -f调用文件:
此时 sed语法变为:
sed options -f file1 file

sed 内部执行过程查看另一篇博文:
https://blog.csdn.net/oTobias/article/details/99591929

(/hi/是匹配hi的行,/hi/不是command,执行sed -n ‘/hi/’ file也会报missing commands)

行地址范围:
两行之间用逗号隔开
sed -n ‘1,4p’ file:打印1到4行之间的所有行
sed -n -e ‘1p’ -e ‘4p’ file :只打印1行和4行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值