选择操作的行范围

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. poj1185 [NOI2001]炮兵阵地

    http://poj.org/problem?id=1185 三维装压dp,压缩上一行状态与本行状态,枚举上两行状态转移 第一维可以滚掉,实际复杂度只枚举符合情况的情况,每行状态不会超过60并非$2^ ...

  2. 改变Ubuntu控制台字体大小(转)

    输入 sudo dpkg-reconfigure console-setup 选择一个适合的字体和字号即可. 参考: http://www.codeweblog.com/%E6%94%B9%E5%8F ...

  3. htop简介

    htop可谓top的升级版,top不可以鼠标操作,但是htop可以使用鼠标操作 启动方式:命令行下输入htop直接启动,启动后的界面如图所示 操作:可以使用上下左右方向键进行移动查看.可以使用鼠标点击 ...

  4. HDU 3150 Robot Roll Call – Cambot…Servo…Gypsy…Croooow(map)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3150 Problem Description Mystery Science Theater 3000 ...

  5. python遍历当前目录并删除某文件

    #coding: utf-8 """ this programe is to clear driverlog below this dir __author__:the_ ...

  6. HDU1272 小希的迷宫(基础并查集)

    杭电的图论题目列表.共计500题,努力刷吧 AC 64ms #include <iostream> #include <cstdlib> #include <cstdio ...

  7. UDP通信注意事项

    今天调试UDP,笔记本上面可以实现但台式机上面竟然无法通信,后来找了半天,原来是权限问题.必须将用户权限设置为最低才行. 在运行里面输入UAC (user access control )用户权限设置 ...

  8. eclipse学习

    网上转载,以作以后学习之用! eclipse学习 关键字: eclipse学习 1 eclipse插件安装方法(link方法) 一般插件包含一个eclipse目录,其下是features和plugin ...

  9. RF--- selenium

  10. Linux下MySQL定时按日期备份数据

    一.使用mysql内置命令 mysqldump Usage: mysqldump [OPTIONS] database [tables] mysqldump [OPTIONS] --databases ...