Sed与正则表达式(复习)

sed概述

sed是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),
接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。

sed特点:

行编辑器(逐行进行读取到内存中进行处理,然后显示)
不编辑源文件,仅对模式空间中的模式空间中的数据做处理

格式:sed [options] ‘addressCommand’ file …

options

-n:不在默认显示模式空间中的内容
-i:直接修改原文件
-e SCRIPT -e SCRIPT:可以执行多个脚本
-f: /PATH/TO/SED_SCRIPT
-r:表示使用扩展正则表达式
-h或--help 显示帮助。

address

STARTLINE,ENDLINE:从STARTLINE行开始到ENDLINE结束
/^REGEXP/:使用正则表达式
/Pattern1/,/Parttern2/:第一次被Pattern1开始至第一次被Pattern2匹配到的行结束
LineNumber:指定匹配的行
StartLine,+N:从StartLine开始,向后N行

command

d:删除符合条件的行i
p:显示符合条件的行
c:替换匹配到的文本
a \"string":在指定的行后面追加新行,内容为string 例如 a \newline
i \"string":在指定的行前面追加新行,内容为string 例如 i \newline
r file:将指定的文件的内容添加至符合条件的行
w file:将指定范围内的内容另存至指定的文件中

s/pattern/string/修饰符
    g:全局替换
    i:忽略字符大小写
    &:引用匹配到的串

猜你喜欢

转载自blog.csdn.net/wangyeshun/article/details/82501758