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就是把文件逐行的读入,以空格为默认分隔符将每 ...
随机推荐
- LOJ.2587.[APIO2018]铁人两项Duathlon(圆方树)
题目链接 LOJ 洛谷P4630 先对这张图建圆方树. 对于S->T这条(些)路径,其对答案的贡献为可能经过的所有点数,那么我们把方点权值设为联通分量的大小,可以直接去求树上路径权值和. 因为两 ...
- 从数组中查看某值是否存在,Arrays.binarySearch
Arrays.binarySearch为二分法查询,注意:需要排序 使用示例 Arrays.binarySearch(selectedRows, i) >= 0
- 【ACM-ICPC 2018 沈阳赛区网络预赛】不太敢自称官方的出题人题解
A. Gudako and Ritsuka 链接 by Yuki & Asm.Def 期望难度:Hard- 考虑从后往前进行博弈动态规划,在这一过程中维护所有的先手必胜区间.区间不妨采用左开右 ...
- 模板 SBT
傻逼树模板 struct SBT{ const static int maxn = 1e5 + 15; int lft[maxn] , rht[maxn] , key[maxn] , s[maxn] ...
- git一些命令
************git基本命令***************git config --global user.name "xielehe" 设置名字git config - ...
- 从零开始搭建linux下laravel 5.5所需环境(一)
首先你需要有一台linux服务器,或者虚拟机,这里就不赘述了,不会的可以自行百度. 我这里准备的是一台腾讯云服务器,系统为CentOS 7.4 64位. 你可以使用腾讯云的登录按钮登录到服务器,也可以 ...
- 在EntityFramework6中管理DbContext的正确方式——2DbContext的默认行为(外文翻译)
(译者注:使用EF开发应用程序的一个难点就在于对其DbContext的生命周期管理,你的管理策略是否能很好的支持上层服务 使用独立事务,使用嵌套事务,并行执行,异步执行等需求? Mehdi El Gu ...
- 精心收集整理的SQL Server 2014/2012/2008/2005/2000简体中文企业版下载地址
经常在网上看到有同学费尽心思的找SQL server数据库各版本的下载地址,看到别人的求助贴就不自觉的想去帮助他们,但是一个一个去帮助又不太现实,毕竟个人精力有限,既然大家有需求,那么笔者就本着乐于分 ...
- cocos2d-x 3.0 将cpp-tests编译成Android版本号APK文件
cmd模式 进入到 E:\cocos2d-x-3.0rc1\cocos2d-x-3.0rc1\build 输入命令 android list targets 在输入: android-build.py ...
- C语言 const, static, static const 的区别
基本定义: const 就是只读的意思,只在声明中使用;static 一般有2个作用,规定作用域和存储方式. 对于局部变量, static规定其为静态存储方式, 每次调用的初始值为上一次调用的值,调 ...