本公众号内容大多由自己平时操作记录,如果有错误地方欢迎留言指正
sed简介
sed是一个非交互式文件编辑器,它可以对文本文件和标准输入输出进行编辑,标准输入可以来自键盘输入,文件重定向,字符串变量甚至管道等。sed从文本的一个文本行或标准输入中读取数据,将其复制到缓冲区,让后读取命令行或者脚本的第一个命令,直到命令行或者脚本执行完毕。
sed只对缓冲区中原始文件的副本进行编辑,并不对原始文件编辑,因此要保存改动的内容需要重定向到新的文件
sed命令通常由定位文本行和sed编辑命令组成,sed编辑命令对定位文本行进行各种处理sed有两种方式定位文本:
使用行号,指定一行,或者指定行号范围
使用正则表达式
常用匹配模式
常用编辑指令 :sed编辑命令对匹配模式匹配到的文本进行打印,删除,追加,插入,替换,等操作
一些使用示例
sed查找显示:1, 显示passwd 第2行
2, 显示passwd第2行到底10行
3, 显示passwd第2开始后的3行
插入和追加4, 在第3行下追加1行;按行号匹配
5, 在第3行下追加1行;按行字符串匹配
6, 在第3行前插入1行
配合正则表达式,对文件内容进行修改 (脚本中使用最多)对nginx.conf文件进行如下操作:1,将用户定义行的#号注释去掉
直接查看效果:
直接修改文件内容:
2,将worker_processes开头行定义取消,并将 work进程数改为 4
`
其他系统信息匹配方式1、删除centos7系统/etc/grub2.cfg文件中所有以空白开头的行行首的空白字符
2、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符
3、在centos6系统/root/install.log每一行行首增加#号
4、在/etc/fstab文件中不以#开头的行的行首增加#号
5、处理/etc/fstab路径,使用sed命令取出其目录名和基名
6、利用sed 取出ifconfig命令中本机的IPv4地址
7.统计centos安装光盘中Package目录下的所有rpm文件的以.分隔倒数第二个
字段的重复次数 (思路:用正则匹配全行,关键字段用分组匹配,后面引用替换)
8、统计/etc/init.d/functions文件中每个单词的出现次数,并排序(用grep和
sed两种方法分别实现)
领取专属 10元无门槛券
私享最新 技术干货