sed命令基本使用

Posted 阿德001

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sed命令基本使用相关的知识,希望对你有一定的参考价值。

1,sed工具概述

 stream  Editor  流式编辑器

a,非交互,基于模式匹配过滤及修改文件;

b,逐行处理,并将结果输出到屏幕;

c,可实现对文本的输出,删除,替换,复制,剪切,导入,导出等;

2,命令格式

a,前置命令  |  sed  [选项]   编辑指令

b,sed [选项]   ‘编辑指令’  文件

编辑指令分为 定址符+处理动作 

(定址符指找到文本内容所在文件位置,处理动作指对文件内容的操作)

c​,常用选项

-n :屏蔽默认 输出的文本内容;

-i :直接修改文件内容

-r :启用扩展的正则表达式,若与其他选项一起用,应作为首个选项

-:课组合多个命令,以分号分割;

d,处理动作

p  打印输出选定行   例如: 1,3p   输出1,2,3行内容  

d 删除选定行      例如:1,3d  删除1,2,3行内容

s 字符串替换      例如: s/old/new/  将每行第一个old替换为new

s/old/new/2  将每行第2个old替换为new

s/old/new/g  将所有的old替换为new

替换操作的/可用其他符号调换,如 # ,&等  

a 在当前行下插入内容   

i 在当前行上插入内容

c 把选定的行改为新的内容

n 读取下一行,默认从第一行开始读

s替换标记

g​ 表示行内全部替换

e,sed元字符集

 ^ 匹配行开始  如: /^root/  匹配以root开始的行

$ 匹配行结束  如: /root$/ 匹配以root结尾的行

. 匹配任意一个字符  如: /r.ot/  匹配r后的任意一个字符, 这里  . 可以匹配到o

*匹配0-任意个字符 如: /r*t/  匹配r和t之间的任意多个字符

[]匹配指定返回的字符,例如:[abc]3 ,可以匹配 a3,b3,c3

[^] 对中括号中的内容取反,例如:[^abc]3,表示不匹配a3,b3,c3





以上是关于sed命令基本使用的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本 sed工具

sed总结

sed的用法

一篇文章学会shell工具篇之sed

sed的用法

基于字符串的命令ubuntu