sed对文本的处理很强大,并且sed非常小,参数少,容易掌握,他的操作方式根awk有点像。sed按顺序逐行读取文件。然后,它执行为该行指定的所有操作,并在完成请求的修改之后的内容显示出来,也可以存放到文件中。完成了一行上的所有操作之后,它读取文件的下一行,然后重复该过程直到它完成该文件。在这里要注意一点,源文件(默认地)保持不被修改。sed默认读取整个文件并对其中的每一行进行修改。说白了就是一行一行的操作。我用sed主要就是用里面的替换功能,真的很强大。下面以实例,详细的说一下,先从替换开始,最常用的。
参数
sed-h
-n,--quiet,--silent取消自动打印模式空间
-e脚本,--expression=脚本添加脚本到程序的运行列表
-f脚本文件,--file=脚本文件添加脚本文件到程序的运行列表
--follow-symlinks直接修改文件时跟随软链接
-i[扩展名],--in-place[=扩展名]直接修改文件(如果指定扩展名就备份文件)
-lN,--line-length=N指定l命令的换行期望长度
--posix关闭所有GNU扩展
-r,--regexp-extended在脚本中使用扩展正则表达式
-s,--separate将输入文件视为各个独立的文件而不是一个长的连续输入
-u,--unbuffered从输入文件读取最少的数据,更频繁的刷新输出
--help打印帮助并退出
--version输出版本信息并退出
例1
测试文件
复制代码