在Unix/Linux系统中,sed命令采用逐行处理的方式对文件进行查找、删除、替换、添加、插入等操作。

语法:
sed [OPTION]... {script-only-if-no-other-script} [input-file]...

参数:
-n :只打印模式匹配的行
-e :直接在命令行模式上进行sed动作编辑,此为默认选项
-f :将sed的动作写在一个文件内,用–f filename 执行filename内的sed动作
-r :支持扩展表达式
-i :直接修改文件内容

案例:
sed -n '2p' testdata.txt #打印第二行
sed -n '2,5p' testdata.txt #打印第二到第五行
sed -n '/aaaaa/p' testdata.txt #打印文件中匹配aaaaa的行
sed -n '/bbbb/,4p' testdata.txt #打印从匹配bbbb的行到第四行
sed -n '2,/cccc/p' testdata.txt #打印第二行到匹配cccc的行
sed -n '/bbbb/,/dddd/p' testdata.txt #打印匹配bbbb的行到匹配dddd的行
sed -e '/^clam/d' testdata.txt #删除以clam开头的行
sed 's/clam/aaaa/' testdata.txt #使用aaaa替换clam
sed 's/clam/aaaa&/' testdata.txt #在clam之前添加aaaa
sed 's/clam/&aaaa/' testdata.txt #在clam之后添加aaaa
sed '/dovecot/s/$/dddd/' testdata.txt #在匹配dovecot的行末尾添加dddd
sed '/clam/i nihao' testdata.txt #在匹配clam的行前添加一行nihao
sed '/clam/a nihao' testdata.txt #在匹配clam的行后添加一行nihao
sed -i 's/clam/aaa/' testdata.txt #在原文件生效使用aaa替换clam

Unix/Linux命令:SED的更多相关文章

  1. 20个 Unix/Linux 命令技巧

    让我们用这些Unix/Linux命令技巧开启新的一年,提高在终端下的生产力.我已经找了很久了,现在就与你们分享. 删除一个大文件 我在生产服务器上有一个很大的200GB的日志文件需要删除.我的rm和l ...

  2. Linux命令sed

    如果一个文本文件数据比较多,大概有40万条数据,我想取出第500-1000条数据,保存到另一个文件,用linux命令该如何操作? sed -n '500,1000p' 41w.txt > new ...

  3. Unix/Linux命令:FTP

    在Unix/Linux系统中,ftp命令用来实现客户机和远程主机之的文件传输. 语法:ftp [-Apinegvtd] [hostname] 参数:-p : 传输文件模式为被动模式-i : 关闭交互模 ...

  4. 50个最常用的UNIX/Linux命令

    转自http://get.jobdeer.com/493.get 1. tar command examples Create a new tar archive. $ tar cvf archive ...

  5. 常用mac/unix/linux命令

    1.查询ip地址 ifconfig 2.查找服务器上应用程序的端口分配 grep telnet /etc/services (telnet) telnet使用TCP/UDP端口号23 grep dom ...

  6. 开发错误日志之Unix/Linux命令未执行或无结果等且程序无错误

    在Unix/Linux环境中开发时,特别要注意权限问题,否则经常找不到错误的原因,其实就是因为权限所致.

  7. 后台执行UNIX/Linux命令和脚本的五种方法

    hiveserver 后台启动 nohup "${HIVE_HOME}"/bin/hive --service hiveserver2 & 1. 使用&符号在后台执 ...

  8. python模块之 - subprocess执行unix/linux命令

    subprocess模块提供了一种一致的方法来创建和处理附加进程,与标准库中的其它模块相比,提供了一个更高级的接口,subprocess模块用来生成子进程,并可以通过管道连接它们的输入/输出/错误,以 ...

  9.  linux命令sed与awk是干什么用的,怎么用?

    非常强大的文本操纵工具,sed,awk,grep 这个三个命令 都是操作文本文件的unix系统有几个非常命令的特点:1. 对于内核而言,unix文件都是字节序列.io设备也是文件.2. 至于文件的含义 ...

随机推荐

  1. [总结]-2018 w1

    不想总结 2017,过去的就过去吧,不过自己在 2017 年还是收获了很多,最重要的就是赚钱.赚钱还是需要两把刷子,所以,2018 的小目标就是学习数据分析和机器学习.希望自己在这两个领域能搞点事情. ...

  2. QuickStart系列:docker部署之Elasticsearch

    ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Apach ...

  3. 使用Git命令把本地项目上传到github上托管

    (1)在github上,新建一个仓库 (2)打开git-bash,进入项目目录下 (3)git init (4)git add . (5)git status (6)git commit -m &qu ...

  4. 易卡易APP的出现改变你的消费习惯

    科技发展越来越快,移动支付占据市场主导地位,银行业发展受到了重大冲击,致使银行对于信用卡的推广更加重视.人们的消费观念也受到了很大影响从以前的现金消费变成现在的数字消费,人们对于金钱的观念就是一个数字 ...

  5. CSS列表及导航条

    大多数网页中都包含某种形式的列表,今天我们就来联系几个基本的导航条.   垂直导航条 注意要点: 去掉默认的项目符号(list-style-type:none),将外边距和内边距都设为0. 以em设置 ...

  6. 千万别在开发阶段用 uglify 插件了!(from Requirejs to Webpack)

    webpack 各种好用,打算把 sf.gg 的前端构建工具从 gulp+requirejs 尝试着迁移到 webpack,没想到刚迈出第一步随即翻车. 因为 sf.gg 本质是个后端路由项目,每个页 ...

  7. ubuntu16中遇到libgstreamer-0.10.so.0缺失解决方案

    1. error while loading shared libraries: libgstreamer-0.10.so.0: cannot open shared object file: No ...

  8. Django_自带的admin管理页面

    Django的admin管理页面非常的好用,接下来就简单的说一下: 首先当你在pycharm中启动django服务端程序之后,在浏览器中输入地址就可以访问 当你输入默认的admin页面,,会弹出来下边 ...

  9. spring中Order注解

    Spring在加载Bean的时候,有用到order注解. PS:顾名思义,Order是顺序,此注解可操作于类.方法.字段,当作用在类时,值越小,则加载的优先级越高! @Retention(Retent ...

  10. PEP8 Python 编码规范整理

    一 代码编排1 缩进.4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格.2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号.换行点要在操作符的后边敲回车.3 类 ...