选择操作的行范围

sed -n '1,2p' testsed2.txt  匹配第1到2行
sed -n '/a/,/b/p' testsed2.txt  匹配从包含a的行到包含b的行
sed -n '/a/,3p' testsed2.txt  匹配从包含a的行到第3行
sed -n '/a/p' testsed2.txt  匹配包含a的行
sed -n 'p' testsed2.txt  匹配所有行

操作命令

sed '1,2p' testsed2.txt #打印第一二行

sed '1,2d' testsed2.txt #删除第一二行

sed '1,2i \test' testsed2.txt #在第一二行前分别插入一行
sed '1,2i \test\nhello' testsed2.txt #在第一二行前分别插入两行

sed '1,2a \test' testsed2.txt #在第一二行后分别插入一行
sed '1,2r test.txt' testsed2.txt  #在第一二行后分别插入一个文本文件内容

sed '1,2w a.txt' testsed2.txt #将匹配行保存到新文件
sed '1,2=' testsed2.txt #将匹配行的行号显示到前一行中
sed '1,2s/a/aa/' testsed2.txt #将匹配的行进行查找替换

sed '1,2s@b@bb@' testsed2.txt #可以用其他符号代替间隔符号


选项部分

sed '1,2p' testsed2.txt
sed -n '1,2p' testsed2.txt #不显示模式空间的内容

sed -i 'a \hello world' test.txt #修改源文件
cat test.txt 

sed -e 's/a/aa/g' -e 's/b/bb/i' testsed2.txt #使用-e同时支持多个操作
sed '{s/a/aa/g;s/b/bb/i}' testsed2.txt #不用-e的方式

sed -r 's/^(a|b)//' testsed2.txt#支持扩展正则表达式

练习题目

1、替换/etc/inittab中的"id:3:initdefault"一行数字为5;
sed '/^id/s/:[0-9]:/:5:/' /etc/inittab 
2、删除/etc/init.d/functions的空白行;
sed -r '/^[[:space:]]*$/d' /etc/init.d/functions
3、删除/boot/grub/grub.conf文件中行首的空白字符;
sed -r 's/^[[:space:]]+//g' /boot/grub/grub.conf 
4、echo一个路径给sed,通过sed取出其目录名;例如echo "/etc/sysconfig/" | sed,返回/etc;
echo "/etc/sysconfig/" | sed -r 's@/[^/]+/?$@@'

sed命令使用举例的更多相关文章

  1. Linux sed命令使用方法

    sed(Stream Editor)是Linux中文本处理使用非常广泛的工具,可以对文件内容进行替换.删除.新增.选取特定行等功能.下面通过sed常用实例介绍sed命令的使用方法. sed基本语法 s ...

  2. linux sed命令详解 --大量举例

    1. Sed简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后 ...

  3. sed命令

    sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为:         sed ...

  4. Linux的sed命令

    一.初识sed 在部署openstack的过程中,会接触到大量的sed命令,比如 # Bind MySQL service to all network interfaces.sed -i 's/12 ...

  5. linux sed命令

    一.初识sed 在部署openstack的过程中,会接触到大量的sed命令,比如 # Bind MySQL service to all network interfaces. sed -i 's/1 ...

  6. Shell学习:sed命令

    http://blog.sina.com.cn/s/blog_a56ef5490101cn58.html sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行 ...

  7. 【转】sed命令详解

    原文:http://www.cnblogs.com/emanlee/archive/2013/09/07/3307642.html sed命令行格式为: sed [-nefri]  'command' ...

  8. linux sed 命令

    转载:http://www.cnblogs.com/dong008259/archive/2011/12/07/2279897.html sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行 ...

  9. sed命令详解及应用实例

    第一部分:Sed基本用法 sed是非交互式的编辑器.它不会修改文件,除非使用shell重定向来保存结果.默认情况下,所有的输出行都被打印到屏幕上. sed编辑器逐行处理文件(或输入),并将结果发送到屏 ...

随机推荐

  1. EOJ 3.30 A. 打工时不可能打工的【贪心】

    [链接]:https://acm.ecnu.edu.cn/contest/59/problem/A/ A. 打工时不可能打工的 Time limit per test: 2.0 seconds Mem ...

  2. Educational Codeforces Round 35 B. Two Cakes【枚举/给盘子个数,两份蛋糕块数,最少需要在每个盘子放几块蛋糕保证所有蛋糕块都装下】

    B. Two Cakes time limit per test 1 second memory limit per test 256 megabytes input standard input o ...

  3. BZOJ1054(搜索)

    大力搜,状态用一个16位的数字表示. #include <bits/stdc++.h> using namespace std; #define rep(i,a,b) for(int i( ...

  4. HTTP 状态消息 [转]

    转自:https://www.cnblogs.com/wuyongyu/p/5745875.html    HTTP 状态消息                                     ...

  5. Oracle Form's Trigger Tutorial With Sample FMB

    Created an Oracle Form to handle specific events / triggers like When-New-Form-Instance, Pre-Insert, ...

  6. EasyMvc入门教程-基本控件说明(5)小图标

    我们网页很多时候需要小图标来进行美化,EasyMvc默认提供了100多种常用小图标,您可以根据实际情况选择使用,请看下面的例子: @Html.Q().Ico().Type(EasyMvcHelper. ...

  7. python traceback学习(转)

    1. Python中的异常栈跟踪 之前在做Java的时候,异常对象默认就包含stacktrace相关的信息,通过异常对象的相关方法printStackTrace()和getStackTrace()等方 ...

  8. 初始----python数字图像处理--:环境安装与配置

    一提到数字图像处理编程,可能大多数人就会想到matlab,但matlab也有自身的缺点: 1.不开源,价格贵 2.软件容量大.一般3G以上,高版本甚至达5G以上. 3.只能做研究,不易转化成软件. 因 ...

  9. Java内存泄漏及分析

    对于内存泄漏,首先想到的是C语言,其实不然,java中也有各种的内存泄漏.对于java程序员,在虚拟即中,不需要为每一个新建对象去delete/free内存,不容易出现内存泄漏.但是,正 是由于这种机 ...

  10. csdn开源夏令营-ospaf中期报告

    1.背景         随着将中期的代码托管到CSDN的平台上,ospaf(开源项目成熟度分析工具)已经有了小小的雏形.当然还远远不够.       首先还是要感谢这次活动组织方CSDN,感觉挺有G ...