sed 用法 转https://www.cnblogs.com/Dev0ps/p/8441255.html
假设文档内容如下:
[root@localhost ~]# cat /tmp/input.txt
null test
要求:在1111之前添加AAA,方法如下:
sed -i 's/指定的字符/要插入的字符&/' 文件
[root@localhost ~]# sed -i 's/1111/AAA&/' /tmp/input.txt
[root@localhost ~]# cat /tmp/input.txt
null
0000AAA11112222 test
要求:在1111之后添加BBB,方法如下:
sed -i 's/指定的字符/&要插入的字符/' 文件
[root@localhost ~]# sed -i 's/1111/&BBB/' /tmp/input.txt
[root@localhost ~]# cat /tmp/input.txt
null
0000AAA1111BBB2222 test
要求:(1) 删除所有空行;(2) 一行中,如果包含"1111",则在"1111"前面插入"AAA",在"11111"后面插入"BBB"
[root@localhost ~]# sed '/^$/d;s/1111/AAA&/;s/1111/&BBB/' /tmp/input.txt
null
0000BBB1111AAA2222
test
要求:在每行的头添加字符,比如"HEAD",命令如下:
[root@localhost ~]# sed -i 's/^/HEAD&/' /tmp/input.txt
[root@localhost ~]# cat /tmp/input.txt
HEADnull
HEAD000011112222
HEAD
HEADtest
要求:在每行的尾部添加字符,比如"tail",命令如下:
[root@localhost ~]# sed -i 's/$/&tail/' /tmp/input.txt
[root@localhost ~]# cat /tmp/input.txt
HEADnulltail
HEAD000011112222tail
HEADtail
HEADtesttail
说明:
1."^"代表行首,"$"代表行尾
2.'s/$/&tail/g'中的字符g代表每行出现的字符全部替换,如果想在特定字符处添加,g就有用了,否则只会替换每行第一个,而不继续往后找。
ubuntu@ubuntu-vm:/work/sva/sva-repo$ echo " <exec>bin/adc</exec> " | sed 's/.*<.*>\(.*\)<.*>.*/\1/'
bin/adc
s/^..*/\1/g是正则表达式的替换 s/A/B/ 就是A替换B,而A是^..*(^表示行首,和是有特殊用途的,表示把括号中的内容剔除出来,会一次放到\1 \2 \3这些变量中的,若果有多个括号的话,和中见的.表示匹配任意一个字符),这样通过sed 's/^..*/\1/g'内容变成了
提取字符串
现在有如下一串字符串:
"asdfkjasldjkf"shiner"df
需求:
需要提取出shiner子字符串。
命令如下:
[root@localhost /]$ echo "asdfkjasldjkf\"shiner\"df" | sed 's/\(.*\)"\(.*\)"\(.*\)/\2/g'
shiner
命令解释
s: 表示替换命令
\(.*\)" : 表示第一个引号前的内容
"\(.*\)":表示两引号之间的内容
)"\(.*\):表示引号后的内容
\2: 表示第二对括号里面的内容
括号里的表达式匹配的内容,可以用\1,\2等进行引用,第n个括号对内的内容,就用\n引用。
这个命令的意思是:
用\2代表的第二个括号的内容(shiner)去替换整个字符串,这样就得到了我们所需要的子字符串了。


那么就能获取到了18.08。
sed 用法 转https://www.cnblogs.com/Dev0ps/p/8441255.html的更多相关文章
- AutoMapper用法 转载https://www.cnblogs.com/youring2/p/automapper.html
AutoMapper是对象到对象的映射工具.在完成映射规则之后,AutoMapper可以将源对象转换为目标对象. 配置AutoMapper映射规则 AutoMapper是基于约定的,因此在实用映射之前 ...
- 企业案例:查找当前目录下所有文件,并把文件中的https://www.cnblogs.com/zhaokang2019/字符串替换成https://www.cnblogs.com/guobaoyan2019/
企业案例:查找当前目录下所有文件,并把文件中的https://www.cnblogs.com/zhaokang2019/字符串替换成https://www.cnblogs.com/guobaoyan2 ...
- 【redis】redis五大类 用法 【转载:https://www.cnblogs.com/yanan7890/p/6617305.html】
转载地址:https://www.cnblogs.com/yanan7890/p/6617305.html
- sed 用法记录
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为: sed ...
- [转帖]linux之sed用法
linux之sed用法 https://www.cnblogs.com/dong008259/archive/2011/12/07/2279897.html docker images | awk ' ...
- linux 之sed用法
sed:Stream Editor文本流编辑,sed是一个"非交互式的"面向字符流的编辑器.在使用sed处理时,它把当前处理的行存储在临时缓冲区中,称为"模式空间&quo ...
- Python中的logging模块【转】https://www.cnblogs.com/yelin/p/6600325.html
[转]https://www.cnblogs.com/yelin/p/6600325.html 基本用法 下面的代码展示了logging最基本的用法. 1 # -*- coding: utf-8 -* ...
- 【转载】linux之sed用法
linux之sed用法 原文地址:http://www.cnblogs.com/dong008259/archive/2011/12/07/2279897.html sed是一个很好的文件处理工具 ...
- linux学习基础6之sed用法详解
1 sed 又称为流编辑器,它逐行将文本文件中的行读取到模式空间中间去,将符合编辑条件的行进行编辑后输出到显示器上来.默认sed不编辑原文件只处理模式空间中的内容. 2 sed用法 sed [opti ...
随机推荐
- 怎样安装Android Studio
在浏览器地址栏输入 http://www.android-studio.org/ 打开Android Studio中文社区, 下载安装包: 这里需要注意的是SDK的目录, 我没有选择默认的目录, 而是 ...
- 孤荷凌寒自学python第七十九天开始写Python的第一个爬虫9并使用pydocx模块将结果写入word文档
孤荷凌寒自学python第七十九天开始写Python的第一个爬虫9 (完整学习过程屏幕记录视频地址在文末) 今天在上一天的基础上继续完成对我的第一个代码程序的书写. 到今天终于完成了对docx模块针对 ...
- 使用清华镜像在python中pip 安装
Anaconda的安装步骤不在本文的讨论中,我们主要是学习一下如何配置conda的镜像,以及一些问题的解决过程 配置镜像 在conda安装好之后,默认的镜像是官方的,由于官网的镜像在境外,我们使用国内 ...
- solidity事件详解
很多同学对Solidity 中的Event有疑问,这篇文章就来详细的看看Solidity 中Event到底有什么用? 写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊. ...
- 十六:The YARN Service Registry
yarn 服务注册功能是让长期运行的程序注册为服务一直运行. yarn中运行的程序分为两类,一类是短程序,一类一直运行的长程序.第二种也称为服务.yarn服务注册就是让应用程序能把自己注册为服务,如h ...
- Python中的global和nonlocal
在Python中,一个变量的scope范围从小到大分成4部分:Local Scope(也可以看成是当前函数形成的scope),Enclosing Scope(简单来说,就是外层函数形成的scope), ...
- 团队第一次作业 ——404 Note Found 团队
如果记忆是一个罐头的话,我希望这一罐罐头不会过期----<重庆森林> 404 Note Found Team 如果记忆是一个备忘录的话,别说了,它不会过期----<404 Note ...
- 【week2】四人小组项目(WBS、NABCD)
项目选题:东北师范大学论坛 小组名称:nice! 项目组长:李权 组员:于淼 刘芳芳 杨柳 本周任务:要求给出需求概述.功能列表.痛点或亮点.NABCD及WBS模型在此项目中的应用. 作为东北师范大学 ...
- WEB安全测试要点总结
一.大类检查点: 二.测试项详细说明 上传功能 绕过文件上传检查功能 上传文件大小和次数限制 注册功能 注册请求是否安全传输 注册时密码复杂度是否后台校验 激活链接测试 重复注册 批量注册问题 登录 ...
- oracle RAC集群启动和关闭
oracle 11G RAC集群启动和关闭:1.停止数据库$srvctl stop database –d oradb2.停止集群服务关闭集群需要root运行#/u01/11.2.0/grid/bin ...