1. sed的工作原理:
sed是一种流编辑器,它是文本处理中非常有用的工具,能够完美的配合正则表达式使用,处理时,把当前处理的行存储在临时缓冲区中,称为模式空间,接着用sed
命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变。
2. sed的特点:
1>. sed
命令是将一系列的编辑命令应用于一批文本的理想工具。
2>. sed
命令是一个非交互式的文本编辑器,它可以对来自文本文件以及标准输入的文本进行编辑。其中,标准输入可以是来自键盘、文件重定向、字符串、变量或者是管道的文本。
3>. sed
命令会从文件或者标准输入中一次读取一行数据,将其复制到缓冲区(最多
8192
字节),然后读取命令行或者脚本的编辑子命令,对缓冲区中的文本行进行编辑。重复此过程,一直到所有的文本行都处理完毕。
3. sed基本语法 :
sed OPTIONS… [SCRIPT] [INPUTFILE…]
常用的选项:
-n,--quiet,--silent: 不输出模式空间中的内容,使用安静模式,在一般sed的用法中,所有来自STDIN的数据一般都会被列出到屏幕上,但如果加上-n参数后,则只有经过sed特殊处理的那一行才会被列出来。-i: 直接编辑原文件,而不是由屏幕输出,默认不对原文件进行操作。-e: 直接在命令行模式上进行 sed 的动作编辑,多个子命令之间可以用分号隔开; -e script 表示以选项中指定的script 来处理输入的文本文件。-r: 使用扩展正则表达式。-f: 直接将 sed 的动作写在一个文件内, -f filename 则可以执行 filename 内的 sed 动作。