1.删除特殊字符

将 1.1.0_boke_1.0.1 转换为110_boke_101

command: new_var=`echo 1.1.0_boke_1.0.1 |sed  s/\.//g` (说明:.是特殊字符,需要专一,输出new_var即110_boke_101)

2.将字符串首字母转换成大写

command: new_string=`echo abcd |sed  's/^../\u&/' `

3.将字符串中的第一个字母替换成预期值

比如将abcd变成wbcd

command:new_string=`echo abcd |sed s/^./w/g `

同样删除首字母:比如将abcd变成bcd

command:new_string=`echo abcd |sed s/^.//g `

4.修改替换某一行的某些字符

比如,修改第六行的develop为master

sed -i 6s/develop/master/  .repo/manifest.xml

5.正则匹配处理取某几段字符

将var1=“build_option:LEBO_OPTION_1=0x60001,LEBO_OPTION_2=0x60002,LEBO_OPTION_5=0x60005,LEBO_OPTION_6=0x60006”只显示0x60001,0x60002,0x60005,0x60006

命令:

echo $var1 |awk -F ":" '{print $2}' |sed s/LEBO_OPTION_[0-9]=//g  使用[0-9]正则匹配数字

6.替换某行内容

命令格式1:sed '行号c 新字符串' 文件,比如:sed -i "42c versionCode: $vcode_new\," test.txt

命令格式2:sed '起始行号,终止行号c 新字符串' 文件

或者:

  有时候我们发现,替换某个字符比较难,比如将a=" "换成a="123",整行替换反而更简单,但是要首先获取这一行的行号,比如行号是3,那么命令则是:

tmp_num=3;new_conf=" a="\"123\" "; sed  -i  "$tmp_num"s/^.*$/$new_conf/  filese

7.将文件中的特殊符号变成换行符

command:

(1)逗号变成换行符:sed -i 's/,/\\n/g' user_config.txt

(2)“\”变成“/” :sed -i 's/\\/\//g' test.txt

(3)删除“.” :  echo $var1 | sed 's/\.//g'

8.显示某一行或者某几行

sed -n 2p test.txt

sed -n  '10,20p' test1

9.删除文件中的空行

command: sed -i '/^\s*$/d' test.txt

10.sed在指定行的上下行插入内容

a\ 在指定的行后面追加一行 
b\ 在指定的行前面追加一行

(1)在test.txt第3行后插入一行,内容为"test sed":

modify_num=3; new_string="test sed";sed -i "$modify_num"'a\'"$new_string" test.txt

(2)在test.txt第3行前插入一行,内容为"test sed":

modify_num=3; new_string="test sed";sed -i "$modify_num"'b\'"$new_string" test.txt    

11.删除行头的匹配行以及行头空格已经包含/的字符串

sed /'tag:'/d test1 |sed 's/ //g' |sed 's/origin\///g' > test2

12.在指定位置加入空行

在行头加入空格

sed -i '40s/^/         /' test.txt

(2)在第三行到最后行的行头加入空格

sed -i '3,$/^/     /' test.txt

linux sed 常见字符串处理的更多相关文章

  1. Linux sed 命令字符串替换使用方法详解

    1. sed替换的基本语法 sed 's/原字符串/替换字符串/' 单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线”\”进行转义.2. 单引号” ‘ ’”是没有办法用反斜线” ...

  2. Linux sed -i 字符串替换

    sed -i 直接替换文件中的内容不输出, 如 将 laravel .env中的 QUEUE_DRIVER=sync 替换为 QUEUE_DRIVER=redis, 在Laravel的项目根目录中运行 ...

  3. linux awk 常见字符串处理

    awk指定输出列: awk '{print $0} file' #打印所有列awk '{print $1}' file #打印第一列 awk '{print $1, $3}' file #打印第一和第 ...

  4. Linux sed 替换第一次出现的字符串

    /********************************************************************************* * Linux sed 替换第一次 ...

  5. linux sed 批量替换文件中的字符串或符号

    sed -i :直接修改读取的文件内容,而不是输出到终端.   sed -i 就是直接对文本文件进行操作的   替换每行第一次出现的字符串 sed -i 's/查找的字符串/替换的字符串/' 文件   ...

  6. 理解linux sed命令

    理解linux sed命令(2010-02-27 18:21:20) 标签:linuxshellsed替换 分类:革命本钱 1. Sed简介sed是一种在线编辑器,它一次处理一行内容.处理时,把当 前 ...

  7. linux sed命令参数及用法详解

    linux sed命令参数及用法详解 http://blog.csdn.net/namecyf/article/details/7336308 1. Sed简介 sed 是一种在线编辑器,它一次处理一 ...

  8. linux sed 批量替换多个文件中的字符

    格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` linux sed 批量替换多个文件中的字符串 sed -i "s/oldst ...

  9. [转帖]linux sed命令

    linux sed命令就是这么简单 https://www.cnblogs.com/wangqiguo/p/6718512.html 用到的最多的就是一个sed -i 's/nn/mm/' 的命令了. ...

随机推荐

  1. Project Move from Qt 4 to Qt 5 项目工程的迁移

    将Qt4的项目迁到Qt5中并不需要新建一个Qt5的工程,可以直接在原工程文件上修改,这里我们使用的是VS2010和Qt5.4的环境,我们需要做以下修改: 1. 在工程里找到这个文件:工程名.vcxpr ...

  2. mysql迁移sqlserver

    数据迁移的工具有很多,基本SSMA团队已经考虑到其他数据库到SQL Server迁移的需求了,所以已经开发了相关的迁移工具来支持. 此博客主要介绍MySQL到SQL Server数据迁移的工具:SQL ...

  3. C#打印标签

    一个复杂的标签包括一个复杂的表格样式和二维码.条形码等内容.所以如果直接绘制的方式将会非常的麻烦,所以采用使用的方案是使用模板的方式:1.使用Excel创建出想要的模板的样式.2.对模板中的动态内容进 ...

  4. Android新手系列教程(申明:来源于网络)

    Android新手系列教程(申明:来源于网络) 地址:http://blog.csdn.net/column/details/androidcoder666.html

  5. 文末有福利 | IT从业者应关注哪些技术热点?

    7月14-15日,MPD工作坊北京站即将开幕,目前大会日程已经出炉,来自各大企业的技术专家,按照软件研发中心的岗位职能划分,从产品运营.团队管理.架构技术.自动化运维等领域进行干货分享,点击此[链接] ...

  6. Apache的项目列表

    这里是Apache的项目列表,Apache Http Server也在这里 https://projects.apache.org/projects.html?name

  7. HDMI 接口及CEC信号

    HDMI 接口及CEC信号 2016年12月02日 14:16:38 King-Five 阅读数:16389 HDMI接口 HDMI(High Definition Multimedia Interf ...

  8. arcengine新建要素类

    ArcGIS里面新建数据集,看起来简单,平时都是默认创建,实际上好多细节问题我们都没注意到 一.在数据集上新建要素类: How to create a feature class within a f ...

  9. Monkey简介及环境搭建(1)

    简介:Monkey是Android SDK自带的测试工具,是一个命令行工具,可以运行在模拟器中或者实际设备中,它向系统发送伪随机的用户事件流(如按键输入,触摸屏输入,手势输入等),实现对正在开发的应用 ...

  10. 解决双系统(Window10+Ubuntu16.10)下ubuntu安装git时提示软件包git没有可安装候选问题

    选择升级系统: sudo apt-get update 升级之后再输入: sudo apt-get install git 可成功安装.