选择操作的行范围

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. CS Academy Round #65 Count Arrays (DP)

    题目链接  Count Arrays 题意  给定$n$和$m$个区间.若一个长度为$n$的$01$序列满足对于每一个给定的区间中至少有一个位置是$0$, 那么这个$01$序列满足条件.求有多少满足条 ...

  2. openshift scc解析

    SCC使用UserID,FsGroupID以及supplemental group ID和SELinux label等策略,通过校验Pod定义的ID是否在有效范围内来限制pod的权限.如果校验失败,则 ...

  3. 洛谷——P3387 【模板】缩点

    P3387 [模板]缩点 题目背景 缩点+DP 题目描述 给定一个n个点m条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大.你只需要求出这个权值和. 允许多次经过一条边或者一个点, ...

  4. 分享Kali Linux 2017年第17周镜像文件

     分享Kali Linux 2017年第17周镜像文件  Kali Linux官方于4月23日发布2017年的第17周镜像.这次维持了11个镜像文件的规模.默认的Gnome桌面的4个镜像,E17.KD ...

  5. 全栈一路坑(4)——创建博客的API

    上一篇博客:全站之路一路坑(3)——使用百度站长工具提交站点地图 这一篇要搭建一个API平台,一是为了给博客补充一些功能,二是为以后做APP提供数据接口. 首先需要安装Django REST Fram ...

  6. Oracle 安装前准备

    [root@localhost Desktop]# groupadd -g 110 oinstall 用来安装oracle软件 [root@localhost Desktop]# groupadd - ...

  7. 调试SQLSERVER (一)生成dump文件的方法

    http://www.cnblogs.com/lyhabc/p/4184149.html http://www.cnblogs.com/lyhabc/p/4185399.html

  8. MFC中 在SDI模式下的视图中添加按钮的方法

    在单文档视图(SDI)结构中,视图一般用来显示数据.但是,有时也希望在视图中显示按钮或其他的控件,以满足用户的需要.下面是手动添加按钮并使按钮具有响应事件的功能的方法. 第一步:添加一个按钮      ...

  9. 算法之美--2.2 Array

    2016-12-02    00:24:12 利用抽象数据类型实现Array:主要用C++模板实现数组类:体会一个完整的C++类的写法,能顺利写出来的人不多了,特别是对复制构造函数和重载= []运算, ...

  10. IDEA破解 2017 IDEA license server 激活(可用)

    进入ide主页面,help-register-license server,然后输入 http://idea.iteblog.com/key.PHP(注意:php要小写)即可~