本文共 840 字,大约阅读时间需要 2 分钟。
9.4/9.5 sed
sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等![](=sed的一些资料:
命令 功能描述a\ 在当前行的后面加入一行或者文本。c\ 用新的文本改变或者替代本行的文本。d 从pattern space位置删除行。i\ 在当前行的上面插入文本。h 拷贝pattern space的内容到holding buffer(特殊缓冲区)。H 追加pattern space的内容到holding buffer。g 获得holding buffer中的内容,并替代当前pattern space中的文本。G 获得holding buffer中的内容,并追加到当前pattern space的后面。n 读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。p 打印pattern space中的行。P 打印pattern space中的第一行。q 退出sed。w file 写并追加pattern space到file的末尾。! 表示后面的命令对所有没有被选定的行发生作用。s/re/string 用string替换正则表达式re。= 打印当前行号码。替换标记
g 行内全面替换,如果没有g,只替换第一个匹配。p 打印行。x 互换pattern space和holding buffer中的文本。y 把一个字符翻译为另一个字符(但是不能用于正则表达式)。选项 -e 允许多点编辑。-n 取消默认输出。转载于:https://blog.51cto.com/13227377/2107974