sed
(流编辑器)是Linux/Unix系统中用于对文本进行流式编辑的命令行工具。以下是关于 sed
命令的简要详解:
基本用法:
sed 's/pattern/replace/g' file
,用于在文件中查找匹配pattern
的文本,并将其替换为replace
。选项:
-i
:直接在文件中修改,即原地编辑。-e
:允许在同一命令行上指定多个表达式。-n
:只打印经过sed
处理的行。-r
:启用扩展正则表达式。
常用操作:
s/pattern/replace/
:替换第一个匹配的pattern
为replace
。s/pattern/replace/g
:替换所有匹配的pattern
为replace
。d
:删除匹配的行。p
:打印匹配的行。i
:在匹配行之前插入文本。a
:在匹配行之后追加文本。
正则表达式:
sed
支持基本正则表达式(BRE)和扩展正则表达式(ERE),可以使用-r
选项启用ERE。使用范例:
sed 's/old/new/g' file.txt
:替换文件中所有匹配的old
为new
。sed -i 's/pattern/replace/g' file.txt
:在文件中原地替换匹配的pattern
为replace
。sed -n '/pattern/p' file.txt
:只打印出匹配pattern
的行。sed '/pattern/d' file.txt
:删除匹配pattern
的行。
sed
是一个强大的文本处理工具,通过合理的使用表达式和选项,可以实现对文本的多种操作,如替换、删除、插入等。