删除所有的空行,并在每行后面增加一个空行

sed '/^$/d;G' /etc/fstab

将每一行前导的“空白字符”(空格,制表符)删除

sed 's/^[\t ]*//' file

将文本中的 aaa bbb ccc 都替换为ttt

sed 's@aaa\|bbb\|ccc@ttt@g' file

将yes替换为no,并且只在行中未出现字符hello的情况下替换

sed '/hello/ !s/yes/no/g' file

删除匹配到的行的下一行:

sed '/UUID/{n;d}' /etc/fstab

删除匹配到的行和下一行:

sed '/UUID/{N;d}' /etc/fstab

解释一下n如果UUID被匹配到,则移动到匹配行的下一行,并删除这一行

n  读取下一个输入行,用下一个命令处理新的行

解释一下N如果UUID被匹配到,则匹配行和下一行都会被读取到sed的缓存空间,接着删除这两行

删除文件每行中的第一个字符:

sed -n 's/^.//p' /etc/fstab

删除文件每行的最后一个字符:

sed -n 's/.$//p' /etc/fstab

删除文件每行的第二个字符:

sed -nr 's/(.)(.)(.*)/\1\3/p' /etc/fstab

-r表示使用扩展正则表达式

假设有一个文件格式如下

使用 sed 'N;s/\n/\t/' file命令转换成如下格式

原理解释:

  N:读取下一行并追加到模式空间中的行后面,当sed读入第一行内容时,由N将下一行的内容追加到模式空间中,此时模式空间

中的内容为"aaa\nbbb",再由编写的匹配规则进行替换,将"\n"替换为了"\t",再执行默认的"p"操作,输出到标准输出

显示奇数行

sed -n '1~2p' file

sed命令实战的更多相关文章

  1. Linux实战教学笔记12:linux三剑客之sed命令精讲

    第十二节 linux三剑客之sed命令精讲 标签(空格分隔): Linux实战教学笔记-陈思齐 ---更多资料点我查看 1,前言 我们都知道,在Linux中一切皆文件,比如配置文件,日志文件,启动文件 ...

  2. Linux系统sed命令常用参数实战

    Linux系统sed命令常用参数实战 常用参数 -n 输出某行的文本内容,通常与p联合使用, -e 命令行模式下进行sed的动作编辑,输出编辑后的内容,源文件不会发生变化 -f 以命令中指定的scri ...

  3. sed命令用法详解

    sed命令用法 sed是一种流编辑器,它是文本处理中非常有用的工具,能够完美的配合正则表达式使用,功能不同凡响.处理时,把当前处理的行存储在临时缓冲区中,称为『模式空间』(pattern space) ...

  4. Linux中的sed命令

    sed - stream editor for filtering and transforming text 流编辑器的过滤和转换文本 sed [-nerf] [动作] 参数: -i 修改源文件 危 ...

  5. sed命令(二)

    转自:https://www.cnblogs.com/maxincai/p/5146338.html sed命令用法 sed是一种流编辑器,它是文本处理中非常有用的工具,能够完美的配合正则表达式使用, ...

  6. linux中sed命令(全面解析)

    目录 一:linux中sed命令介绍 1.sed作用 2.sed命令格式 3.参数 4.sed的编辑模式 5.sed参数解析用法 二:sed 参数 -f 案例实战解析 1.前介 2.引入简介 3.方法 ...

  7. 文本处理三剑客之sed命令

    第十八章.文本处理三剑客之sed命令 目录 sed介绍 sed命令常用选项 sed常用编辑命令 sed使用示例 sed高级语法 18.1.sed简介 sed全名stream editor,流编辑器,s ...

  8. linux shell 用sed命令在文本的行尾或行首添加字符

    转自 http://www.cnblogs.com/aaronwxb/archive/2011/08/19/2145364.html 昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了sed ...

  9. linux sed命令详解

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

随机推荐

  1. (medium)LeetCode 241.Different Ways to Add Parentheses

    Given a string of numbers and operators, return all possible results from computing all the differen ...

  2. [转]iOS技巧之获取本机通讯录中的内容,解析通讯录源代码

    一.在工程中添加AddressBook.framework和AddressBookUI.framework 二.获取通讯录 1.在infterface中定义数组并在init方法中初始化 ? 1 2 3 ...

  3. Sqoop2常用命令介绍

    命令行操作之Create Command 1.Create Connection Function create connection --cid 1  说明:Create new connectio ...

  4. 剑指Offer:面试题8——旋转数组的最小值(java实现)

    题目描述: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入 一个递增排序的数组的一个旋转 输出 旋转数组的最小元素. 例如数组{3,4,5,1,2}为{1,2,3,4,5}的 ...

  5. python学习笔记(Tkinter编程利用Treeview实现表格自动更新)

    博主今天总结这段时间抽空写的一个GUI编程项目 功能是查看本地打印机队列,可选择指定队列重新打印 直接上图 UI设计包括3个区域左上方,右上方和下方列表区域 使用网格grid方法来分配位置 下面是界面 ...

  6. oracle 空表无法导出

    1.执行该语句   select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;  ...

  7. ASP.NET MVC4 学习系统四(视图)

    视图(Views)    在ASP.NET MVC框架中,想要返回给用户HTML的控制器操作,就要返回ActionResult类型的ViewResult实例,ActionResult知道如何渲染应答结 ...

  8. python字典的常用操作方法

    Python字典是另一种可变容器模型(无序),且可存储任意类型对象,如字符串.数字.元组等其他容器模型.本文章主要介绍Python中字典(Dict)的详解操作方法,包含创建.访问.删除.其它操作等,需 ...

  9. 设置Eclipse自动跳转到debug模式的小技巧

    默认情况下,eclipse中右键debug,当运行到设置的断点时会自动跳到debug模式下.但由于我的eclipse环境,从开始一直用到现在,中间包括装.卸各种插件,更换版本,从英文界面导到中文界面又 ...

  10. MFC中release版本和debug版本区别

    最近MFC写了个程序,生成release版,原来正常,后来删掉了些控件再编译运行,结果竟然报内存读写错误,debug却是正常的.后来将“Project   Settings”   中   “C++/C ...