sed语法及丰富案例

sed(stream editor)是一种流编辑器,用于对文本文件进行基于行的编辑操作

sed 基本语法

sed 命令的基本语法如下:

sed [options] 'script' file
  • options:可选的命令行选项,例如 -n(禁止自动打印模式空间)、-e(允许多个脚本)等。
  • scriptsed 脚本,包含一系列的编辑命令。
  • file:输入文件。

sed 脚本结构

sed 脚本由一系列的编辑命令组成,每个命令通常包含一个地址范围和一个操作。地址范围可以是行号、正则表达式匹配的行或其他条件。如果没有指定地址范围,则默认作用于整篇文档。

丰富案例

案例 1:打印特定行
sed -n '5p' file.txt

这个命令将打印 file.txt 文件的第 5 行。-n 选项禁止自动打印模式空间,5p 是一个编辑命令,表示打印第 5 行。

案例 2:删除特定行
sed '3d' file.txt

这个命令将删除 file.txt 文件的第 3 行。3d 是一个编辑命令,表示删除第 3 行。

案例 3:替换文本
sed 's/apple/orange/g' file.txt

这个命令将在 file.txt 文件中将所有的 “apple” 替换为 “orange”。s/apple/orange/g 是一个编辑命令,表示全局替换 “apple” 为 “orange”。

案例 4:插入文本
sed '3i\New line' file.txt

这个命令将在 file.txt 文件的第 3 行之前插入 “New line”。3i\New line 是一个编辑命令,表示在第 3 行之前插入文本。

案例 5:修改特定行的内容
sed '3s/^.*$/This is a new line/' file.txt

这个命令将把 file.txt 文件的第 3 行替换为 “This is a new line”。3s/^.*$/This is a new line/ 是一个编辑命令,表示替换第 3 行的内容。

案例 6:基于正则表达式的行选择和操作
sed -n '/^root/p' /etc/passwd

这个命令将打印 /etc/passwd 文件中以 “root” 开头的行。/^root/p 是一个编辑命令,表示打印匹配正则表达式 “^root” 的行。

总结

sed 是一种非常强大的文本处理工具,可以用于对文本文件进行基于行的编辑操作。通过编写简单的脚本,你可以轻松地实现复杂的文本处理任务。以上案例只是 sed 功能的一部分,你可以根据自己的需求编写更复杂的脚本来实现更高级的功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值