Linux中sed详解
一、sed基本介绍
sed是Stream Editor(字符流编辑器)的缩写, 简称流编辑器
sed是操作, 过滤和转换文本内容的强大工具
常用功能包括结合正则表达式对文件实现快速增删改查,其中查询的功能中最常用的两大功能是过滤(过滤指定字符串)、取行(取出指定行)。
1.1、sed执行的流程图
语法: sed [选项] [sed内置命令字符] [输入文件]
1.2、选项:
1.3、sed常用的内置命令字符
sed内置命令字符用于对文件进行不同的操作功能, 如对文件增删改查.
1.4、sed匹配范围
二、sed的案例
准备测试文件
2.1、输出文件第2,3行的内容
2.2、过滤出含有linux字符串行
sed可以实现grep的过滤效果,必须吧要过滤的内容放在双斜杠中
2.3、删除含有game的行
注意sed想要修改文件内容, 还得用-i参数
2.4、删掉2,3两行
2.5、删掉第五行至结尾
2.6、将文件中的的My全部替换成His
注: s内置符配合g,代表全局替换,中间的""可以替换为"#@"等
2.7、替换所有My为His, 同时换掉QQ为888888
2.8、在文件第二行最佳内容 a字符功能, 写入文件, 还得添加-i
2.9、添加多行信息, 用换行符
2.10、在每一行下面插入新内容
2.11、在每一行上面插入内容
三、sed配合正则表达式企业案例
上一节是用grep -E扩展正则表达式,这一节是用sed配合正则表达式使用
取出Linux的ip地址
3.1、获取网卡信息(ifconfig)
3.2、去头去尾法
交给管道, 一次去头, 一次去尾
写法一:
写法二: