操作系统三剑客命令-sed

三剑客sed命令概念介绍 
    作用说明: ` stream editor for filtering and transforming text`
               文件处理编辑命令
    原理过程:  按照文件每行信息进行处理, 找出符合条件信息, 执行相应操作
	语法结构: ` sed [参数] '条件 指令操作'  文件信息`

三剑客sed命令使用方法
   ` 准备环境:
cat >person.txt<<EOF
101,oldboy,CEO
102,zhaoyao,CTO
103,Alex,COO
104,yy,CFO
105,feixue,CIO
EOF
  1) 如何进行查询
	   a 按照行号查询信息
	     查找单行信息:  sed -n '3p'   文件信息 
		 查找多行信息:  sed -n '2,4p' 文件信息   连续多行   sed -n '2p;4p' person.txt  不连续多行
		                sed -n '2,$p' 文件信息
	   
	   b 按照字符查询信息
	     查找单行信息:  sed -n '/CTO/p' person.txt 
		 查看多行信息:  sed -n '/CTO/,/CIO/p' person.txt                              sed -n '/CTO/p;/CIO/p' person.txt
		[root@linux67 oldboy]# cat person.txt 
        101,oldboy,CEO
        102,zhaoyao,CTO
        103,Alex,COO
        104,yy,CFO
        105,feixue,CIO
        102,zhaoyao,CTO
        103,Alex,COO
        104,yy,CFO
        [root@linux67 oldboy]# sed -n '/CTO/,/CIO/p' person.txt 
         102,zhaoyao,CTO
         103,Alex,COO
         104,yy,CFO
         105,feixue,CIO
         102,zhaoyao,CTO
         103,Alex,COO
         104,yy,CFO
         2)如何进行删除
         ed -i '6d' person.txt  
       sed -i.bak '/COO/d' person.txt	    --- 将源文件内容先进行备份, 在进行操作
	   sed -ri '/CFO|CTO/d' person.txt
	   
	   坑: 删除一个文件有#号的行
	       1) 查询需要删除内容
		      sed -n '/^#/p' config
		   2) 删除文件信息
	          sed -i '/^#/p' config
	   PS: 
	   1. -i参数后面不能再跟上其他参数
	   2. -i参数和-n参数尽量不要结合使用
	   -i : 真正修改文件内容
3) 如何进行添加
	   3a: 在第三行的下面添加相应信息
	   3i: 在第三行的上面添加相应信息
	
	   [root@linux67 oldboy]# cat person.txt
       101,oldboy,CEO
       105,feixue,CIO
       [root@linux67 oldboy]# sed -i '1a102,zhaoyao,CTO' person.txt
       [root@linux67 oldboy]# cat person.txt
       101,oldboy,CEO
       102,zhaoyao,CTO
       105,feixue,CIO
       
	4) 如何进行修改
       sed 参数 's#需要替换信息#替换成什么信息#g'  文件信息 
	   
	   sed  '$s#CEO#CIO#g' person.txt                 --- 指定条件进行替换
	   sed -i "s#$Init_IP#$Change_IP#g" $File_info    --- 指定变量信息做替换需要注意双引号使用`
发布了58 篇原创文章 · 获赞 52 · 访问量 1271

猜你喜欢

转载自blog.csdn.net/ljaixiaoxue/article/details/102916007