sed 常用的命令
n: 读取一行,执行n,把当前行打印到标准输出,再读取一行,覆盖当前行,然后对模式空间执行一组模式/行为。
N:读取一行,执行N,再读取一行,现在模式空间有两行内容,执行一组模式/行为。
如下:
[root@localhost ~]# sed 'n;p;' num.txt
num1
num2
num2
num3
num4
num4
[root@localhost ~]# sed 'N;p;' num.txt
num1
num2
num1
num2
num3
num4
num3
num4
p:小写p,把模式空间的内容都打印到标准输出
P:大写P,把模式空间中的第一行,打印到标准输出
如下:
[root@localhost ~]# sed -n 'N;p;' num.txt
num1
num2
num3
num4
[root@localhost ~]# sed -n 'N;P;' num.txt
num1
num3
d:删除模式空间的所有内容,忽略后面的模式/行为
D:删除模式空间的第一行,忽略后面的模式/行为
// 删除第2、3行
[root@localhost ~]# sed '2{N;d;}' num.txt
num1
num4
// 删除第2行
[root@localhost ~]# sed '2{N;D;}' num.txt
num1
num3
num4
注意:sed '2{N;d;}' num.txt 与 sed '2{N;d;p}' num.txt 是等价的,因为d后面的p被忽略,不会执行。大写D也是同样道理。
h:把模式空间的内容覆盖掉保留空间
H:把模式空间的内容追加到保留空间
// 1、2、3行追加到保留空间,对于第三行,交换回来,注意:保留空间初始值为一个空行
[root@localhost ~]# sed 'H;3{x}' num.txt
num1
num2
num1
num2
num3
num4
// 如何去掉上面的空行,第一行改为覆盖
[root@localhost ~]# sed '1h;1!H;3{x}' num.txt
num1
num2
num1
num2
num3
num4
g:把保留空间的内容覆盖掉模式空间
G:把保留空间的内容追加到模式空间
// 1、2、3行追加到保留空间,对于第三行,覆盖回来
[root@localhost ~]# sed 'H;3{g}' num.txt
num1
num2
num1
num2
num3
num4
// 1、2、3行追加到保留空间,对于第三行,追加回来
[root@localhost ~]# sed 'H;3{G}' num.txt
num1
num2
num3
num1
num2
num3
num4
sed 常用的命令的更多相关文章
- Linux echo, sort, sed 等一些命令总结
linux echo, sort, sed是初学linux shell script 的一些常用的命令.基本上来说,如果能够掌握了这些命令,我们就能写出一些不错的linux脚本.以下是我遇到的以下常用 ...
- 常用Linux命令小结
常用Linux命令小结 Linux下有很多常用的很有用的命令,这种命令用的多了就熟了,对于我来说,如果长时间没有用的话,就容易忘记.当然,可以到时候用man命令查看帮助,但是,到时候查找的话未免有些临 ...
- Linux下的sed流编辑器命令详解
sed是stream editor的简称,也就是流编辑器.它一次处理一行内容,处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内 ...
- 常用linux命令和配置
find只查看文件和只查看目录 find -type f -name clexec find -type d -name clexec 解压rpm [root@sj_x861 2]# ls e ...
- 77个常用Linux命令和工具
77个常用Linux命令和工具 Linux管理员不能单靠GUI图形界面吃饭.这就是我们编辑这篇最实用Linux命令手册的原因.这个指南是特别为Linux管理员和系统管理员 设计的,汇集了最有用的一些工 ...
- 文本处理sed常用操作
文本处理sed常用操作 linux sed (stream editor) is a Unix utility that parses and transforms text, using a sim ...
- Linux常用脚本命令总结
基本操作 通用操作 1. export 显示所有的环境变量,也可以获取到某个变量的详细信息: export # 显示所有 echo $SHELL # 只显示SHELL 2. whereis 使用系统自 ...
- 测试常用Linux命令
大家应该经常在网络上看到下图吧,虽然我们不会去执行下面图片中的命令,但是linux常用的命令对于测试人员来说,还是必须掌握的,不管是做功能测试还是性能测试,最常用的就是看日志了. sudo是linux ...
- linux 常用awk命令
linux awk命令详解awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每 ...
随机推荐
- Java日常错误及需要注意细节,持续更新......
记录日常工作中一些容易被忽视的错误及细节,持续更新...... 一.问题:HashMap<Long, String>中,用get(Integer key)取不到值 Map<Long, ...
- bzoj 2961
根据“点在圆内”关系,列出点P(x0,y0)在圆C(x,y)内的关系: (x-x0)^2+(y-y0)^2 <= x^2+y^2 化简得: 2*x0*x+2*y0*y >= x0^2+y0 ...
- Codeforces Round #351 (VK Cup 2016 Round 3, Div. 2 Edition) B. Problems for Round 水题
B. Problems for Round 题目连接: http://www.codeforces.com/contest/673/problem/B Description There are n ...
- Python学习笔记(八)—集合的学习
集合(set)是一个无序不重复元素的序列. 基本功能是进行成员关系测试和删除重复元素. 1.集合的作用 它可以把一个列表中重复的数据去掉,而不需要你再写判断 可以做关系测试,比如说有两个科目,一个数学 ...
- PHP获取文件大小详解
通过PHP filesize函数可直接获取文件大小(单位字节),如:filesize('test.png') echo filesize('test.png'); 查看test.png图片属性: 文件 ...
- PowerDesigner设置唯一约束/唯一索引/唯一键
注意:还需要设置unique约束,也是在这个界面. 参考: https://blog.csdn.net/cnham/article/details/6676650 https://blog.csdn. ...
- My simplified pickit2 clone
http://simon.derr.free.fr/site/spip/spip.php?article11 This is a description of my very simplified h ...
- 使用 NuGet 更新套件時將 jQuery 升級到 2.0.2 應該如何降級
我們在 Visual Studio 2012 裡面會使用 NuGet 管理員管理那些常用的開發函式庫,例如jQuery.Json.NET. EntityFramework.ELMAH.… 等等.各位可 ...
- 再次理解多线程线程安全问题(理解java内存模型后)
1.多线程访问的共享资源存在线程安全问题, 无外乎访问两种共享资源. 1)多线程访问方法区数据.存在线程安全问题,通过加锁 2)多线程访问实例变量:被访问对象是单例时存在线程安全,被访问对象是多例时, ...
- xcode找不到真机设备 - 转
先确认证书是否正确 再确认Bundle Indentifier 是否与证书匹配 再确认Deployment Target 为:sdk从6.0改为4.3 如果xcode还无法识别iphone, Xcod ...