Sed编辑器逐行处理文件或输入并将输出结果发送到屏幕。sed把当前正在处理的行保存在一个临时缓冲区,这个缓冲区称为模式空间,sed处理完模式空间中的行后,就把该行发送到屏幕上,sed每处理完一行就将其从模式空间中删除,然后将下一行读入空间,进行处理和显示,处理完输入文件的最后一行后,sed便结束运行。sed把每一行都存在临时缓冲区中,对这个副本进行编辑,所以不会修改或破坏原文件。
对于sed工具包的所有操作来说, 我们最关心的其实就是3个最主要的操作. 分别是printing(打印到stdout), deletion(删除), 和substitution(替换).
定址用于决定对哪些行进行编辑。地址的形式可以是数字、正则表达式(又称为上下文地址)或二者结合,如果没有指定地址,sed将处理输入文件中的所有行。
如果指定的地址是一个数字,则这个数字代表行号。美元符号可用来指代输入文件的最后一行。
如果给出的是逗号分隔的两个行号,那么需要处理的地址就是这两行之间的范围(包括这两行在内)。
如果需要使用多条命令,或者需要在某个地址范围内嵌套地址,就必须用花括号将命令括起来,每行只写一条命令,或者用分号分隔同一行中的多条命令。
阅读(1013) | 评论(0) | 转发(0) |