linux sed 常见字符串处理
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 常见字符串处理的更多相关文章
- Linux sed 命令字符串替换使用方法详解
1. sed替换的基本语法 sed 's/原字符串/替换字符串/' 单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线”\”进行转义.2. 单引号” ‘ ’”是没有办法用反斜线” ...
- Linux sed -i 字符串替换
sed -i 直接替换文件中的内容不输出, 如 将 laravel .env中的 QUEUE_DRIVER=sync 替换为 QUEUE_DRIVER=redis, 在Laravel的项目根目录中运行 ...
- linux awk 常见字符串处理
awk指定输出列: awk '{print $0} file' #打印所有列awk '{print $1}' file #打印第一列 awk '{print $1, $3}' file #打印第一和第 ...
- Linux sed 替换第一次出现的字符串
/********************************************************************************* * Linux sed 替换第一次 ...
- linux sed 批量替换文件中的字符串或符号
sed -i :直接修改读取的文件内容,而不是输出到终端. sed -i 就是直接对文本文件进行操作的 替换每行第一次出现的字符串 sed -i 's/查找的字符串/替换的字符串/' 文件 ...
- 理解linux sed命令
理解linux sed命令(2010-02-27 18:21:20) 标签:linuxshellsed替换 分类:革命本钱 1. Sed简介sed是一种在线编辑器,它一次处理一行内容.处理时,把当 前 ...
- linux sed命令参数及用法详解
linux sed命令参数及用法详解 http://blog.csdn.net/namecyf/article/details/7336308 1. Sed简介 sed 是一种在线编辑器,它一次处理一 ...
- linux sed 批量替换多个文件中的字符
格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` linux sed 批量替换多个文件中的字符串 sed -i "s/oldst ...
- [转帖]linux sed命令
linux sed命令就是这么简单 https://www.cnblogs.com/wangqiguo/p/6718512.html 用到的最多的就是一个sed -i 's/nn/mm/' 的命令了. ...
随机推荐
- db2 cpu使用率高问题分析处理
性能调优步骤 明确问题->收集数据->分析数据->细化.定位问题->优化 环境: db2 问题:%usr CPU高,大约99%,db2sysc进程使用的最多 收集数据 ---系 ...
- .NET Core开发日志——Linux版本的SQL Server
SQL Server 2017版本已经可以在Linux系统上安装,但我在尝试.NET Core跨平台开发的时候使用的是Mac系统,所以这里记录了在Mac上安装SQL Server的过程. 最新的SQL ...
- shell 基本命令
Shell基本命令 前言 前面咱们已经成功安装了Linux系统--centos7,那么现在跟着超哥奔向Linux的大门. Linux命令行的组成结构 [root@oldboy_python ~]# ...
- 20165311 预备作业3 Linux安装及学习
Linux安装 由于回家没有带笔记本,所以把VirtualBox安装在家里的台式上,回学校之后再重新在自己的笔记本上安装虚拟机.参考<基于VirtualBox安装Ubuntu图文教程>,整 ...
- LeetCode 4 - 两个排序数组的中位数 - [分治]
题目链接:https://leetcode-cn.com/problems/median-of-two-sorted-arrays/description/ 给定两个大小为 m 和 n 的有序数组 n ...
- [No0000132]正确使用密码加盐散列[译]
如果你是一个 web 开发工程师,可能你已经建立了一个用户账户系统.一个用户账户系统最重要的部分是如何保护密码.用户账户数据库经常被黑,如果你的网站曾经被攻击过,你绝对必须做点什么来保护你的用户的密码 ...
- 深入 Vue 生命周期
深入 Vue 生命周期 这篇博客将会从下面四个常见的应用诠释组件的生命周期,以及各个生命周期应该干什么事 1.单组件的生命周期 2.父子组件的生命周期 3.兄弟组件的生命周期 4.宏mixin的生命周 ...
- 在SVNX中实现$Ids的自动替换
在PHPstorm中实现$Ids的自动替换 ①.打开SVN的配置文件. [miscellany] enable-auto-props = yes [auto-props] .c = svn:keywo ...
- 最全最详细:ubuntu16.04下linux内核编译以及设备驱动程序的编写(针对新手而写)
写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:ht ...
- [daily][ulimit][coredump] 快速简单粗暴的用coredump调试
http://www.cnblogs.com/hugetong/p/6898608.html 一个程序挂掉了, 怎么办? 启动coredump 写一个脚本: [root@T185 ~]# cat / ...