sed 常用的命令

n: 读取一行,执行n,把当前行打印到标准输出,再读取一行,覆盖当前行,然后对模式空间执行一组模式/行为。
N:读取一行,执行N,再读取一行,现在模式空间有两行内容,执行一组模式/行为。
如下:
[[email protected] ~]# sed ‘n;p;‘ num.txt
num1
num2
num2
num3
num4
num4
[[email protected] ~]# sed ‘N;p;‘ num.txt
num1
num2
num1
num2
num3
num4
num3
num4



p:小写p,把模式空间的内容都打印到标准输出

P:大写P,把模式空间中的第一行,打印到标准输出
如下:
[[email protected] ~]# sed -n ‘N;p;‘ num.txt
num1
num2
num3
num4
[[email protected] ~]# sed -n ‘N;P;‘ num.txt
num1
num3



d:删除模式空间的所有内容,忽略后面的模式/行为
D:删除模式空间的第一行,忽略后面的模式/行为

// 删除第2、3行
[[email protected] ~]# sed ‘2{N;d;}‘ num.txt
num1
num4

// 删除第2行
[[email protected] ~]# 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行追加到保留空间,对于第三行,交换回来,注意:保留空间初始值为一个空行
[[email protected] ~]# sed ‘H;3{x}‘ num.txt
num1
num2

num1
num2
num3
num4

// 如何去掉上面的空行,第一行改为覆盖
[[email protected] ~]# sed ‘1h;1!H;3{x}‘ num.txt
num1
num2
num1
num2
num3
num4



g:把保留空间的内容覆盖掉模式空间
G:把保留空间的内容追加到模式空间

// 1、2、3行追加到保留空间,对于第三行,覆盖回来
[[email protected] ~]# sed ‘H;3{g}‘ num.txt
num1
num2

num1
num2
num3
num4

// 1、2、3行追加到保留空间,对于第三行,追加回来
[[email protected] ~]# sed ‘H;3{G}‘ num.txt
num1
num2
num3

num1
num2
num3
num4

时间: 2024-10-31 04:49:00

sed 常用的命令的相关文章

sed与awk命令小结

1.sed命令小结 Sed是一个非交互式文本编辑器,它可对文本文件和标准输入进行编辑,标准输入可以是来自键盘输入.文件重定向.字符串.变量,甚至来自管道的文本.Sed从文本的一个文本行或标准输入中读取数据,将其复制到缓冲区,然后读取命令行或脚本的第一个命令,对此命令要求的行号进行编辑,重复此过程,直到命令行或脚本中的所有命令都执行完毕.相对于vi等其他文本编辑器,sed可以一次性处理所有的编辑任务,显得非常高效,为用户节省了大量的时间. 1. 语法:sed [OPTION]... {script

77个常用Linux命令和工具

77个常用Linux命令和工具 Linux管理员不能单靠GUI图形界面吃饭.这就是我们编辑这篇最实用Linux命令手册的原因.这个指南是特别为Linux管理员和系统管理员 设计的,汇集了最有用的一些工具做为他们日常维护的参考手册.通过学习这些简单的工具,那些原本害怕命令行的人也可以变成一个脚本高手,从而通过执行 kernal命令和shell命令来最大限度的发挥linux的作用.请善用我们的指南,有任何Linux方面的问 题或者需要寻找相关答案请务必到我们 的TechTarget中国服务器论坛来发

文本处理sed常用操作

文本处理sed常用操作 linux sed (stream editor) is a Unix utility that parses and transforms text, using a simple, compact programming language 修改配置文件的sed sed -i '/#datelist/ s/\=.*/\=."'$var'"/g' file sed 往文件顶部加一行 sed -i '1s/^/line to insert\n/' file sed

Linux echo, sort, sed 等一些命令总结

linux echo, sort, sed是初学linux shell script 的一些常用的命令.基本上来说,如果能够掌握了这些命令,我们就能写出一些不错的linux脚本.以下是我遇到的以下常用的echo,sort, sed等命令的一些应用; 1.  echo -e: BW="f25\nf50\nf75\nf100\n"; 如果直接echo $BW, 结果是f25\nf50\nf75\nf100\n.所以我们必须加上-e选项才能实现换行的目的,即echo -e $BW Note:

Linux常用脚本命令总结

基本操作 通用操作 1. export 显示所有的环境变量,也可以获取到某个变量的详细信息: export # 显示所有 echo $SHELL # 只显示SHELL 2. whereis 使用系统自动构建的数据库来搜索可执行文件: whereis python # 如果搜不到就不输出 3. which 它在环境变量PATH指定的目录中搜索可执行文件.此命令将打印可执行文件的完整路径. which python # 如果搜不到就不输出 4. clear 清除窗口上的内容. 文件操作 5. ls

常用Linux命令--日志分析

序 在学习使用python处理日志开始阶段,对我阻力最大的莫过于对linux的不熟悉了,有种寸步难行的感觉. 在之后乱学一通之后,发现有点对我颇有益处: 学<鸟哥linux私房菜基础学习篇>,内容不多,但是对linux文件系统和基本组成有个基本的认识很有必要: 熟悉使用vim.开始的时候每次都下载到windowns再编辑实在太傻 了~: 使用ls -l + 通配符查找文件,复杂的查找使用find: 按自己需要学习linux文本领域的三大利器:grep(查找).sed(编辑).awk(分析) 大

Linux下的sed流编辑器命令详解

sed是stream editor的简称,也就是流编辑器.它一次处理一行内容,处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有 改变,除非你使用重定向存储输出. 使用语法 sed命令的使用规则是这样的: sed [option] 'command' input_file -n 使用安静(silent)模式(想不通为什么不是-s

shell 中 grep、sed、awk 命令

grep 命令 grep命令基本语法 grep命令是打印匹配文本行,其全称为 Global Search Regular Expression and Print out the line:基本语法如下: grep [OPTIONS] PATTERN [FILE...] grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...] 其中,OPTIONS表示选项:PATTERN表示匹配模式,匹配模式可以是字符串.变量.正则表达式,若匹配模式中含义空格,则需要使用双

文本处理三剑客之 Sed &mdash;&mdash;一般编辑命令

sed简介 sed (stream editor for filtering and transforming text) 是Linux上的文本处理三剑客之一,另外两个是grep和awk. sed又称行编辑器,每次读取并处理一行文本. 工作原理 1.sed命令开始执行后 2.先从文本中读取第一行,放在模式空间 (pattern space)中 3.判断这行文本是否符合指定模式,符合则进行编辑,然后把结果输出到标准输出. 4.不符合的话默认也会输出到标准输出.除非特别指定不输出不符合的结果行. 5