美文网首页软件测试软件测试
shell sed在工作中的应用

shell sed在工作中的应用

作者: 下午茶_da6d | 来源:发表于2019-11-15 11:54 被阅读0次

Sed是一个行文本处理工具,可以进行文本的增删改查等操作
Sed命令的基本格式:
sed [-nefri] ‘command’ 文件名

常用选项:
-n:只打印指定行 ,举例打印第1-3行:

[avatar@xxx ~]$ nl /etc//passwd |sed -n '1,3p' 
     1  root:x:0:0:root:/root:/bin/bash
     2  bin:x:1:1:bin:/bin:/sbin/nologin
     3  daemon:x:2:2:daemon:/sbin:/sbin/nologin 

-e:文件进行多次编辑,比如将文件替换并打印

 sed -n  -e ‘s/openid1/$myopenid/g’ -e ‘p’myfile 

-f:直接将sed的动作写在一个文档内执行,可执行filename里的sed动作

sed -f filename

-i:直接修改文件内容,不输出到屏幕--** 最常用 **
常用命令:
a:在下一行新增文本 sed '1a 123456' 11.txt 文件第2行增加文本123456
d:删除指定行 sed '1,2d' 11.txt 删除第1-2行
i:插入到指定行前 sed '1i shouhang' 11.txt 插入到文件首行前
p:打印功能,一般与-n一起使用 sed -n '1p' 11.txt 打印第一行文本
s:文本替换 sed "1s/1/111/g" 11.txt 将文件11.txt第1行中字符串所有1替换为111
应用举例:将某文件env="dev"改为env="test",将openid="xxx"替换为openid="xxxnew"

[avatar@xxx ~]$ vi sedtest.sh
    1 #!/bin/bash
    2 #使用sed进行文本替换操作                                                                        
    3  
    4 file="/home/avatar/jss/config.php"
    5 keyword1="env=\"dev\""
    6 keyword2="openid=\"xxx\""
    7  
    8 lineNum1=`sed -n "/$keyword1/=" $file`
    9 lineNum2=`sed -n "/$keyword2/=" $file`
   10  
   11  
   12 #方法1:使用sed -i s file完成文本替换
   13 old="dev"
   14 new="test"
   15 sed -i "$lineNum1 s/$old/$new/g" $file
   16  
   17 #方法2:使用sed -i d a file完成文本替换
   18 lineNew="openid=\"xxxnew\""
   19 sed -i "$lineNum2 d" $file && sed -i "$(($lineNum2-1)) a $lineNew" $file
   20 cat $file
[avatar@xxx ~]$ sh sedtest.sh
env="test";
openid="xxxnew"

相关文章

  • shell sed在工作中的应用

    Sed是一个行文本处理工具,可以进行文本的增删改查等操作Sed命令的基本格式:sed [-nefri] ‘comm...

  • shell对文件的操作

    shell对文件的操作 简介 sed命令 sed小技巧 一、简介 在shell脚本编写中,时常会用到对文件的相关操...

  • 六.Linux之sed命令

    sed使用方式 1.在Shell中输入: 脚本格式: 2.用sed -f命令调用sed脚本文件 3.直接执行sed...

  • 2021-03-11 shell sed命令 修改Info.pl

    shell sed命令 修改Info.plist配置 sed命令 具体细节参考 https://blog.csdn...

  • shell ---sed

    sed : 是一种几乎包括所有UNIX平台的轻量级流编辑器(stream edit)。主要用来将数据进行选取,替换...

  • shell - sed

    sed编辑器逐行处理输入,然后把结果发送到屏幕。 -i选项:直接作用源文件,源文件将被修改。 sed命令和选项: ...

  • SHELL:sed

    1: cat sedtest.txt | sed -n ‘2,4d‘ : 不要显示2~4行。 2:cat sed...

  • sed的认识和基本应用

    1.Sed 介绍 sed全名叫stream deitor,流编辑器。作为shell文本处理三剑客之一的sed,其不...

  • 【ansbile&SSH】Linux系统配置ssh监听多个端口方

    # ansible -i hosts all -m shell -a "sed -i 's/Port 18...

  • shell基础在工作中的应用

    shell编程基础:1. shell变量:环境变量、特殊变量、用户自定义变量2. shell输入输出3 shell...

网友评论

    本文标题:shell sed在工作中的应用

    本文链接:https://www.haomeiwen.com/subject/gnrdictx.html