sed命令实战
删除所有的空行,并在每行后面增加一个空行
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命令实战的更多相关文章
- Linux实战教学笔记12:linux三剑客之sed命令精讲
第十二节 linux三剑客之sed命令精讲 标签(空格分隔): Linux实战教学笔记-陈思齐 ---更多资料点我查看 1,前言 我们都知道,在Linux中一切皆文件,比如配置文件,日志文件,启动文件 ...
- Linux系统sed命令常用参数实战
Linux系统sed命令常用参数实战 常用参数 -n 输出某行的文本内容,通常与p联合使用, -e 命令行模式下进行sed的动作编辑,输出编辑后的内容,源文件不会发生变化 -f 以命令中指定的scri ...
- sed命令用法详解
sed命令用法 sed是一种流编辑器,它是文本处理中非常有用的工具,能够完美的配合正则表达式使用,功能不同凡响.处理时,把当前处理的行存储在临时缓冲区中,称为『模式空间』(pattern space) ...
- Linux中的sed命令
sed - stream editor for filtering and transforming text 流编辑器的过滤和转换文本 sed [-nerf] [动作] 参数: -i 修改源文件 危 ...
- sed命令(二)
转自:https://www.cnblogs.com/maxincai/p/5146338.html sed命令用法 sed是一种流编辑器,它是文本处理中非常有用的工具,能够完美的配合正则表达式使用, ...
- linux中sed命令(全面解析)
目录 一:linux中sed命令介绍 1.sed作用 2.sed命令格式 3.参数 4.sed的编辑模式 5.sed参数解析用法 二:sed 参数 -f 案例实战解析 1.前介 2.引入简介 3.方法 ...
- 文本处理三剑客之sed命令
第十八章.文本处理三剑客之sed命令 目录 sed介绍 sed命令常用选项 sed常用编辑命令 sed使用示例 sed高级语法 18.1.sed简介 sed全名stream editor,流编辑器,s ...
- linux shell 用sed命令在文本的行尾或行首添加字符
转自 http://www.cnblogs.com/aaronwxb/archive/2011/08/19/2145364.html 昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了sed ...
- linux sed命令详解
简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的 ...
随机推荐
- C# BackgroundWorker的使用【转-http://www.cnblogs.com/tom-tong/archive/2012/02/22/2363965.html】
BackgroundWorker 可以用于启动后台线程. 主要的事件及参数: 1.DoWork——当执行BackgroundWorker.RunWorkerAsync方法时会触发该事件,并且传递DoW ...
- delphi 程序全屏显示无标题栏,覆盖整个屏幕
delphi 程序全屏显示无标题栏,覆盖整个屏幕,这个在做工控机或屏保时有用的,所以记下 procedure TMainFrm.FormCreate(Sender: TObject); begin w ...
- [SQL]sql语句如何修改字段长度
语法: alter table <表名> alter column <字段名> 新类型名(长度) 示例: 假如有名T1,字段名F1,原来F1为varchar(),现在要改为va ...
- (easy)LeetCode 258.Add Digits
Given a non-negative integer num, repeatedly add all its digits until the result has only one digit. ...
- Chapter Configuration
Chapter Configuration 在Web.config 或App.config的configuration节,插入如下配置: <configuration> …… <co ...
- image onclick
onclick="this.src+='?rand='+Math.random();" style="cursor: pointer; vertical-align: ...
- css required,focus,valid和invalid介绍
本文章来给大家介绍在css3定义required,focus,valid和invalid样式的方法,此方法目前只支持ie9+及ff,gg浏览器哦.css3 提示只适用于高级浏览器:ChromeFire ...
- MFC学习 修改窗口样式
1. 在PreCreateWindow中可用CREATESTRUCT cs, cs.lpszName修改窗口标题, cs.lpszClass = AfxRegisterWndClass 修改图标与样式 ...
- 剑指Offer:面试题16——反转链表(java实现)
问题描述 定义一个函数,输入一个链表的头结点,反转该链表并输出反转后的链表的头结点.链表结点如下: public class ListNode { int val; ListNode next = n ...
- 【转】WEB测试到移动测试的转换
移动互联网的发展毋庸置疑是必然的趋势,我们曾经传统WEB互联网测试的同学,也必然走上移动测试的道路,移动测试与pc测试到底需要怎样的思维转变才能更快的进入移动节奏呢?对比下WEB与移动的测试不同点: ...