【OS_Linux】三大文本处理工具之sed命令

sed即为流编辑器,英语“stream editor”的缩写。他将源文件按行读取到临时缓存区(也叫模式空间)中,每读取一行都对其按条件进行编辑。默认情况下编辑只作用于缓存区,而不修改源文件,并将各行修改前和修改后的结果均打印至屏幕。

如图 1: sed 处理过程

sed语法sed  [选项]  '编辑条件及编辑命令'  输入文本(文件)

选项:

   -n∶使用安静(silent)模式,只打印被sed命令处理的行,不打印未被sed命令处理的行。
        -e∶对模式空间中的各行执行多重编辑,编辑命令的顺序将影响结果。
        -f∶用一个sed脚本对输入进行编辑, -f filename指定sed脚本的文件名。
        -r∶编辑条件中使用扩展的正则表达式
        -i∶直接修改源文件,而不在屏幕上输出     

编辑条件:

1、采用正则表达式进行匹配(包括字符匹配、次数匹配、位置匹配)

2、行号匹配 (行号从1开始)

       first~step:这两个单词的意思: first 指起始匹配行, step 指步长,例如: sed -n 2~5p 含义:从第二行开始匹配,隔 行匹配一次,即 2,7,12.......

     addr1, +N:从 addr1 这行到往下 行匹配,总共匹配 N+1 行。

     addr1, ~N:从addr1行开始,直到行号为N的整数倍时结束。

编辑命令:

猜你喜欢

转载自www.cnblogs.com/leiblog/p/10708088.html