日期:2025/04/08 13:09来源:未知 人气:57
本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/32521
sed(Stream editor)是一个功能强大的文本流编辑器,主要用于对文本进行处理和转换。
它适用于自动化处理大量的文本数据,能够支持诸如查找、替换、删除、插入等文本编辑操作。
sed 是非交互式的,即它不会改变原始文件,除非显式指定。
在 sed 中,可以指定单行或多行进行操作。
指定单行 :匹配特定行进行编辑操作。sed '20p' file.txt
指定行范围 :通过行号范围操作一系列行。sed '30,35d' file.txt
从某行到文件末尾 :sed '20,$d' file.txt
sed 可以使用正则表达式来匹配某一行或多行,/pattern/ 表示匹配某个正则模式。
匹配包含模式的行 :sed '/pattern/p' file.txt
删除匹配行 :sed '/error/d' file.txt
替换匹配行 :sed '/hello/s/world/universe/' file.txt
通过指定两个匹配模式的范围,sed 可以操作特定区间的行。格式为 //,//。
指定模式的区间匹配 :sed '/start/,/end/p' file.txt
删除区间匹配的行 :sed '/BEGIN/,/END/d' file.txt
对区间进行替换 :sed '/start/,/end/s/foo/bar/' file.txt
可以使用逗号 , 来结合行号或正则表达式,以灵活匹配行数和模式。
按行号和正则结合 :sed '10,/pattern/d' file.txt
多行范围和模式结合 :sed '20,40s/foo/bar/' file.txt
打印特定行:sed -n 2p
删除最后一行:sed $d
s 表示替换;
s 后面的追加字符可以为任意字符;
g 表示全局匹配;
&表示匹配内容。
使用()对数据进行分组;
使用\1 \2 反向引用分组。