sed基本用法

sed可以替换给定文本中的字符串,通过正则表达式来实现。

例如   

sed 's/pattern/replace_string/' file

1、后缀/g意味着sed会替换每一处匹配。但是有时候并不需要替换前N处。有一个选项可以忽略前N处匹配,并从N+1处开始匹配。

echo this thisthisthis | sed 's/this/THIS/2g'
thisTHISTHISTHIS

2、移除空白行

sed '/^$/d' file

3、已匹配字符串标记&

echo this is an example | sed 's/\w+/[&]/g'
[this] [is] [an] [example]

正则表达式\w\+匹配每一个单词,然后用[&]替换。&对应于之前所匹配的单词。

4、子串匹配标记\1

echo this is digit 7 in a number | sed 's/digit \([0-9]\)/\1/'
this is 7 in a number

对于匹配到的第一个子串,其对应的标记是\1,匹配到的第二个子串是\2,往后依次类推。

echo seven EIGHT | sed 's/\([a-z]\+\) \([A-Z]\+\)/\2 \1/'
EIGHT seven

5、组合多个表达式

sed 'expression' | sed 'expression' 等价于 $ sed 'expression' ; 'expression'

6、引用

text=hello
echo hello world | sed "s/$text/HELLO/"
HELLO world

以后遇到什么更好的表达式再更新。

转载于:https://www.cnblogs.com/dgy5554/archive/2012/10/23/3973426.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/401166.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu安装开发者平台Backstage

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 Ubuntu安装开发者平台Backstage 什么是Backstage? Backstage是一个构建开发者门户的开源平台。通过支持一个集中的软件分…

7.中文输入验证-原生JS

1 <!DOCTYPE html>2 <html>3 <head lang"en">4 <meta charset"UTF-8">5 <title>中文输入验证-原生JS</title>6 </head>7 <body>8 <input type"text" id"num" οnblur&quo…

(转)CentOs 设置静态IP 方法

在做项目时由于公司局域网采用自动获取&#xff29;&#xff30;的方式&#xff0c;导到每次服务器重启主机&#xff29;&#xff30;都会变化。为了解决这个问题&#xff0c;我参考了http://blog.sina.com.cn/s/blog_537977e50100qhb5.html的文章然后根据自己的情况设置静态IP…

php资源索引

2019独角兽企业重金招聘Python工程师标准>>> w3school http://www.w3school.com.cn/php/func_mysql_result.asp osc代码分享 http://www.oschina.net/code/list/?langphp&catalog&showtime&sort&p110 CRUD例子&#xff1a; http://git.oschina…

掌握JavaScript中的迭代器和生成器,顺便了解一下async、await的原理

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 掌握JavaScript中的迭代器和生成器&#xff0c;顺便了解一下async、await的原理 前言 相信很多人对迭代器和生成器都不陌…

Boot loader: Grub入门(转)

Boot Loader: Grub 在看完了前面的整个启动流程&#xff0c;以及核心模块的整理之后&#xff0c;你应该会发现到一件事情&#xff0c; 那就是『 boot loader 是加载核心的重要工具』啊&#xff01;没有 boot loader 的话&#xff0c;那么 kernel 根本就没有办法被系统加载的呢&…

网页设计趋势:模糊背景在网站中的经典应用案例

如今&#xff0c;网页设计领域出现了多种创新的设计方法&#xff0c;例如视差滚动&#xff0c;全屏背景&#xff0c;单页设计等等。今天这篇文章向大家介绍另一种新的网页设计趋势——模糊背景。这种类似于摄影拍摄的效果应用在网页中能够突出主题内容&#xff0c;同时若隐若现…

magento去除子分类的url地址中带有父分类的url key

2019独角兽企业重金招聘Python工程师标准>>> app/code/core/Mage/Catalog/Model/Url.php 找到如下代码 方法getCategoryRequestPath if (null $parentPath) {$parentPath $this->getResource()->getCategoryParentPath($category);}elseif ($parentPath /…

深度学习(三)之LSTM写诗

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 目录* 数据预处理 构建数据集模型结构生成诗 根据上文生成诗生成藏头诗 参考 根据前文生成诗&#xff1a; 机器学习业&…

Some Principles

立刻做 1、2分钟原则 凡是2分钟内就可以完成的事&#xff0c;立刻去做不要犹豫。人的大脑擅长分析处理&#xff0c;不擅长记忆。  应用举例&#xff1a;  a、加微信加QQ顺手添加备注名&#xff0c;或许下次联系已经是三个月后了。  b、吃完饭立刻洗碗&#xff0c;分分钟的…

Jenkins 脚本命令行应用总结

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 Jenkins脚本命令行应用总结 测试环境 Jenkins 2.304 脚本命令行入口 Jenkins主页→系统管理→脚本命令行 遍历项目 例…

shell 产生随机数的多种方法

总结&#xff1a;1、echo $RANDOM2、 openssl rand -base64 103、date %s%N 或 date %s%N |md5sum4、cat /proc/sys/kernel/random/uuid 5、使用yum安装expect 使用命令&#xff1a; mkpasswd -l 10#-l为长度后续再补充。转载于:https://blog.51cto.com/linuxboys/1587500

C# 将PDF转为Excel

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 通常&#xff0c;PDF格式的文档能支持的编辑功能不如office文档多&#xff0c;针对PDF文档里面有表格数据的&#xff0c;如果…

SQL Server R2 地图报表制作(五)

SQL Server R2 地图报表制作&#xff08;五&#xff09; 2.3 向地图中添加线条层 在上述报表的基础上&#xff0c;我们接下来添加一个表示两个商店间路线的地图层&#xff0c;这里我们依旧使用SQL空间数据源&#xff0c;部分步骤与上一节类似&#xff0c;所不同的是相应的SQL语…

蓝桥杯评测_前n项和

问题描述求123...n的值。输入格式输入包括一个整数n。输出格式输出一行&#xff0c;包括一个整数&#xff0c;表示123...n的值。样例输入4样例输出10样例输入100 说明&#xff1a;有一些试题会给出多组样例输入输出以帮助你更好的做题。 一般在提交之前所有这些样例都需要测试通…

SQL Server 2005新特性之使用with关键字解决递归父子关系

1. 引言 现实项目中经常遇到需要处理递归父子关系的问题&#xff0c;如果把层次关系分开&#xff0c;放在多个表里通过主外键关系联接&#xff0c;最明显的问题就是扩展起来不方便&#xff0c;对于这种情况&#xff0c;一般我们会创建一个使用自连接的表来存放数据。例如存放会…

做订购系统必须要明白的几点

2019独角兽企业重金招聘Python工程师标准>>> 对价格的疑问&#xff1f; 1、用户容易把单位搞错&#xff0c;你标注的是单价&#xff0c;他理解的是整套的价格。譬如你标注的是一粒糖的价格&#xff0c;但卖的是一包糖10粒。 新增单&#xff1f;我拍了之后还想补充 2…

Oracle安装 - shmmax和shmall设置

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 一、概述 在Linux上安装oracle&#xff0c;需要对内核参数进行调整&#xff0c;其中有shmmax和shmall这两个参数&#xff…

彻底理解js中this的指向

首先必须要说的是&#xff0c;this的指向在函数定义的时候是确定不了的&#xff0c;只有函数执行的时候才能确定this到底指向谁&#xff0c;实际上this的最终指向的是那个调用它的对象&#xff08;这句话有些问题&#xff0c;后面会解释为什么会有问题&#xff0c;虽然网上大部…

linux下web压力测试工具ab使用及详解

APACHE自带的测试工具AB(apache benchmark).在APACHE的bin目录下。格式&#xff1a; ./ab [options] [http://]hostname[:port]/path参数&#xff1a; -n requests Number of requests to perform //在测试会话中所执行的请求个数。默认时&#xff0c;仅执行一个请求…