一、什么是sed?
sed(stream editor) 是一个流处理编辑器,是一个“非交互式的”面向字符流编辑器,能同时处理多个文件多行的内容。能帮助我们自动处理文件、分析日志文件、修改配置文件等
1、可以不对原文件进行改动,把整个文件的内容输出到屏幕
2、可以把匹配到的内容输出到屏幕
3、还可以对原文件进行改动,但不会把结果返回到屏幕上
二、sed的语法
例子:
接下来的操作,只是在屏幕上按要求输出了内容,并不会对文件内容进行改变
1、新建一个test文档,里面输入内容
2、 查询包含22的那一行(p是打印出来的意思)
3、 再第三行添加Hello World,但文件内容并没有改变
4、删除2-4行
5、查找替换,将Hello替换成Hi
6、查找替换,将Hello替换成Hi,但是对文件的内容进行改变(加上 -i)
三、什么是awk?
awk是一种编程语言,用于在Linux/unix下对文本和数据的处理,它支持用户自定义函数和动态正则表达式等功能,是Linux/unix下的一个强大编程工具
awk 的处理方式
1、awk一次只处理一行内容
2、awk对每行可以切片处理,空格和制表符为默认分隔符将每行进行切片,切开的部分再进行各种分析处理
四、awk的语法
例子:
1、分割,显示/etc/passwd的第一列
2、分割,显示/etc/passwd的第一列包含 oo 的行
3、分割,显示/etc/passwd文件的行号、列数、及完整的内容
4、分割,显示/etc/passwd文件的第三列为0的行
5、将前四行的用户UID累加起来
6、输出第一个字段第一个字符大于q的行:
总结:sed、awk熟练掌握后可以大大提高工作效率,特别是日志查看、分析,配置文件查找等方面。
这篇文章就写到这里,哪里不好请指出!!