day08 sed 流编辑器常用选项和内部命令

sed 流编辑器

sed操作软连接文件小bug

#  对软连接进行操作后 元数据并不会发生变发 只是改变了软连接的数据 
PS: 可以对文件进行增删改查 替换
选项:
	-n		#取消默认输出 
	-r		#支持扩展正则使用 
	-i		#改变文件内容  
	-e		#允许多项编辑  

内部指令:
	p		#print  打印 
	d		# 删除  排除
        a		#追加  将内容追加指定内容的后面 
        i		#插入   将内容插入到指定的内容的前面     
              s			#替换    
              g			#全局 
              i			#忽略大小写 (搭配sg使用的)
              
		#换行符 
	      			#tab键
	      =		#显示行号 
实例:

查过滤

  1. 查包含root的行 /root/p

2.查以root开头的行 /^root/p

2.-r 支持扩展正则 | 或者

3.打印不连续的行

4.打印某个字符到另个字符的所有行

5.打印连续的行

6.打印单行

删除 排除用法跟打印差不多 把p打印换成d删除符就行了
1.删除包含root字符的行

2.删除第一行到最后一行 $表示结尾最后一行

-i 选项 操作对文件生效
1.-i 正真改变文件

内部命令 a追加
1.将内容追加到地五行的后面

2.将多行内容追加到文件中 换行符 tab 键

3.根据字符串进行追加内容

内部命令i插入 在选择的数据前面插入内容
1.在第一行的前面插入数据

2.在最后一行的前面插入数据

内部命令 改 替换
s :替换 g: 全局 i: 不区分大小写
语法; sed 's#old旧字符#new新字符#g' 文件名
1.全局替换root改成admin

  1. 在每个root后面加上一个test

3.给文件的每行前面加上#

4.删除每行前面的#

5.将某个字符全部删除

排除空行删除空行
PS: ^ 以什么开头 $以什么结尾 加在一起就是^$ 排除有空格或者tab键的空行
1.排除空行删除空行

后向应用 () 扩展正则
PS:前期定义 后期调用 1 2 第几个括号的内容就用第几个
1.取ip地址

2.将passwd的第一列跟最后一列进行调换

3.打印行号

原文地址:https://www.cnblogs.com/xiaolang666/p/13300723.html