sed 是一种流编辑器,它是文本处理中非常重要的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用 sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed 主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。
命令格式
1 2
sed [options] 'command' file(s) sed [options] -f scriptfile file(s) # 以选项中指定的script文件来处理输入的文本文件
常用命令
s : 替换
p : 打印
i : 插入
d : 删除
常用选项
-n:默认情况下,sed会打印所有处理过的行,使用-n选项后,只打印经过sed特殊处理的行。
-i:直接修改文件内容
-e script:向sed添加多条命令来执行
一些例子
1 2 3
# echo 直接操作 -> 将(第一个) a 替换成 aaa $ echo"I am a test file" | sed 's/a/aaa/' I aaam a test file