首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux删除文件最后N小总结

由于我们输入文件有十sed命令:sed 8,$d rumenz.txt将是解决问题方法。 这样,问题就变成了如何计算第一个删除行号8 。 现在,是时候介绍wc命令了。...1来获得要删除第一个行号。...但是,如果我们可以颠倒输入文件顺序,问题就会变成从文件删除n 。一个简单 sed 单行sed 1,n d可以删除n。之后,如果我们再次反转线条,我们问题就解决了。...第一遍,它会找出文件总行数,第二遍,我们打印我们想要保留那些: $ awk -v n=3 'NR==FNR{total=NR;next} FNR==total-n+1{exit} 1'...在这个过程,awk命令将当前行号保存到一个名为total变量。第一遍,total变量保存了输入文件总行数 FNR==total-n+1{exit} 1:这是第二遍。

7.3K10

VimVi删除、多行、范围、所有及包含模式

使用linux服务器,免不了和vi编辑打交道,命令行下删除数量少还好,如果删除很多,光靠删除键一点点删除真的是头痛,还好Vi有快捷命令可以删除多行、范围。 删除 Vim删除命令是dd。...删除多行 要一次删除多行,请在dd命令前添加要删除行数,例如,要删除,请执行以下操作: 1、按Esc键进入正常模式。 2、将光标放在要删除第一上。...删除包含模式 基于特定模式删除多行语法如下: :g//d 全局命令(g)告诉删除命令(d)删除所有包含。 要匹配与模式不匹配,请在模式之前添加感叹号(!): :g!...//d 模式可以是文字匹配或正则表达式,以下是一些示例: :g/foo/d-删除所有包含字符串“foo”,它还会删除“foo”嵌入较大字词(例如“football”)。 :g!.../foo/d-删除所有不包含字符串“foo”。 :g/^#/d-从Bash脚本删除所有注释,模式^#表示每行以#开头。 :g/^$/d-删除所有空白,模式^$匹配所有空行。

73.1K31
您找到你想要的搜索结果了吗?
是的
没有找到

Sed..

* # 匹配0个或多个字符,如:/*sed/匹配所有模板是一个或多个空格紧跟sed。 [] # 匹配一个指定范围内字符,如/[sS]ed/匹配sedSed。...: sed -n '/test/,/check/p' file 打印从第5开始到第一个包含以test开始之间所有sed -n '5,/^test/p' file 对于模板test和west...里内容被读进来,显示与test匹配后面,如果匹配多行,则file内容将显示在所有匹配下面: sed '/test/r file' filename 写入文件:w命令 example中所有包含...sed处理文件时候,每一都被保存在一个叫模式空间临时缓冲区,除非行被删除或者输出被取消,否则所有被处理行都将 打印屏幕上。...Sed对于脚本输入命令非常挑剔,命令末尾不能有任何空白或文本,如果在一中有多个命令,要用分号分隔。以#开头行为注释,且不能跨行。

1.6K20

【linux命令讲解大全】081.sed:功能强大流式文本编辑器

处理时,把当前处理存储临时缓冲区,称为“模式空间”(pattern space),接着用sed命令处理缓冲区内容,处理完成,把缓冲区内容送往屏幕。...* # 匹配0个或多个字符,如:/*sed/匹配所有模板是一个或多个空格紧跟sed。 [] # 匹配一个指定范围内字符,如/[sS]ed/匹配sedSed。.../nologin 选定范围:,(逗号) 所有模板test和check所确定范围内行都被打印: sed -n '/test/,/check/p' file 打印从第5开始到第一个包含以test...,退出sed: sed '10q' file 直到找到第一个匹配项,退出sed: [root@node4 ~]# sed '/nginx/q' nginx.yml --- - hosts: nginx...保持和获取:h命令和G命令 sed处理文件时候,每一都被保存在一个叫模式空间临时缓冲区,除非行被删除或者输出被取消,否则所有被处理行都将 打印屏幕上。

16110

linuxsed命令总结

处理时,把当前处理存储临时缓冲区,称为模式空间(pattern space),接着用sed命令处理缓冲区内容,处理完成,把缓冲区内容送往屏幕。...* # 匹配0个或多个字符,如:/*sed/匹配所有模板是一个或多个空格紧跟sed。 [] # 匹配一个指定范围内字符,如/[sS]ed/匹配sedSed。...: sed -n '/test/,/check/p' file 打印从第5开始到第一个包含以test开始之间所有sed -n '5,/^test/p' file 对于模板test和west...内容被读进来,显示与test匹配后面,如果匹配多行,则file内容将显示在所有匹配下面: sed '/test/r file' filename 写入文件:w命令 example中所有包含...h命令和G命令 sed处理文件时候,每一都被保存在一个叫模式空间临时缓冲区,除非行被删除或者输出被取消,否则所有被处理行都将 打印屏幕上。

3.1K20

【数据处理】sed原理及使用举例(快速理解核心)

如例子所示,第一条命令删除1至5,第二条命令用check替换test。命令执行顺序对结果有影响。如果两个命令都是替换命令,那么第一个替换命令将影响第二个替换命令结果。...* #匹配零或多个字符 如:/*sed/匹配所有模板是一个或多个空格紧跟sed。 [] #匹配一个指定范围内字符,如/[Ss]ed/匹配sedSed。...$ sed -n '/test/,/check/p' example #打印从第五开始到第一个包含以test开始之间所有。...表示若匹配不到 D,d 模式空间,删除 模式空间没有回车符,D/d一样 D/d执行,都会跳到下一(不管模式空间是否有内容) 简单用法 #删除N sed -i 'Nd' filename #删除第...'1,2d;1,2d' 输出应该是第4和第5,因为第二删除第一个1,2d关闭 再读入第3时,匹配到第2个1,2d,因为3>1,所以匹配成功,执行d删除第3 继续读入第4,发现2<4,

2.8K546

linux sed 批量替换字符串 原

替换:s命令 $ sed 's/test/mytest/g' example 整行范围内把test替换为mytest。如果没有g标记,则只有每行第一个匹配test被替换成mytest。...$ sed -n '5,/^test/p' example 打印从第五开始到第一个包含以test开始之间所有。...从文件读入:r命令 $ sed '/test/r file' example file里内容被读进来,显示与test匹配后面,如果匹配多行,则file内容将显示在所有匹配下面。...下一个:n命令 $ sed '/test/{ n; s/aa/bb/; }' example 如果test被匹配,则移动到匹配下一,替换这一aa,变为bb,并打印该行,然后继续。...保持和获取:h命令和G命令 $ sed -e '/test/h' -e '$Gexample sed处理文件时候,每一都被保存在一个叫模式空间临时缓冲区,除非行被删除或者输出被取消,否则所有被处理行都将打印屏幕上

5.3K30

sed直接替换文件内容 原

$ sed 's/test/mytest/g' example-----整行范围内把test替换为mytest。如果没有g标记,则只有每行第一个匹配test被替换成mytest。...$ sed -n '5,/^test/p' example-----打印从第五开始到第一个包含以test开始之间所有。...$ sed '/test/r file' example-----file里内容被读进来,显示与test匹配后面,如果匹配多行,则file内容将显示在所有匹配下面。...$ sed '/test/{ n; s/aa/bb/; }' example-----如果test被匹配,则移动到匹配下一,替换这一aa,变为bb,并打印该行,然后继续。...$ sed -e '/test/h' -e '$G example-----sed处理文件时候,每一都被保存在一个叫模式空间临时缓冲区,除非行被删除或者输出被取消,否则所有被处理行都将打印屏幕上

3.8K50

sed入门详解教程 原

处理时,把当前处理存储临时缓冲区,成为"模式空间",接着用sed命令处理缓冲区内容,处理完成,把缓冲区内容送往屏幕。接着处理下一,这样不断重复,直到文件末尾。...例子1: sed -n ‘/nihao/d’ message 说明:将匹配到nihao执行删除操作。...例子2: sed -n ‘/^$/d’ message 说明:删除空行 例子3: sed -n ‘/^TS/,/^TE/d’ message 说明:匹配以TS开头到TE开头之间,把匹配这些删除...n:读入下一到模式空间,例:’4{n;d}’ 删除第5N:追加下一到模式空间,再把当前行和下一同时应用后面的命令。 P:输出多行模式空间第一部分,直到第一个嵌入换行符位置。...执行完脚本最后一个命令之后,模式空间内容自动输出。P命令经常出现在N命令之后和D命令之前。 D:删除模式空间中第一个换行符内容。

1.4K20

shell脚本快速入门之-----正则三剑客之二sed用法大全!!!

比方如下这个 [root@localhost ~]# sed -n ‘4,/the/p’ test.txt //输出从第 4 行至第一个包含 the 6、 删除符合条件文本(d) [root...sed 's/the/THE/' test.txt //将每行第一个the 替换为 THE sed 's/l/L/2' test.txt //将每行第 2 个 l 替换为 L sed 's/the...sed '3aNew' test.txt //第 3 插入一个新,内容为New sed '/the/aNew' test.txt //包含the 每行插入一个新,内容为 New sed...'3aNew1\nNew2' test.txt //第 3 插入多行内容,中间\n 表示换行 9、a模式sed '/hello/aworld' test 表示把word加在含有hello...-n '/bash$/wfile' passwd w模式下,可以直接写入文件,这是追加过程,不会覆盖原文 三、sed-n和-p以及不加参数 不加参数默认输出全部 包括匹配参数

1.5K30

Linuxsed命令简单介绍

grep:常用来做全局数据查询定位 sed命令作用: 对Linux文本文件进行逐行读取,读到匹配按照既定规则进行处理 语法介绍 sed [选项] [编辑命令] [文件] 常用选项包括:...,字符串替换,通常这个 s 动作可以搭配正规表示法; g :全局,如果不使用 g 标记,sed 替换命令只会替换每一第一个匹配项。...当使用 g 时,它会替换行所有匹配项; sed实战: 查询(p/n命令) cat 1.txt 1 2 3 4 5 6 7 8 9 10 // 查询第8数据 sed '8p' 1.txt ('8p...\+//g' 1.txt (' \+'表示多个空格,正则表达式,'+'通常用来表示一个或多个匹配。...如果不加'/g'则只删第一个匹配空格) 1a 12b 6c 5d // 删除每行行首空格 sed 's/^ \+//' 1.txt ('^ \+') 1 a 12 b 6

1.8K10

linux基础命令介绍十:文本流编辑 sed

sed命令’,每个命令都可以有地址与之相关联,地址可以看成是条件,只有条件成立时,相关命令才被执行;所有可执行命令都处理完毕,仍处于模式空间中字符串会被追加一个换行符打印输出;之后读取下一输入做同样处理...如果第二个地址是个正则表达式,则不会对第一个地址匹配行进行第二个地址匹配;如果第二个地址是行号,但小于或等于第一个地址匹配行行号,则只会匹配(第一个地址匹配)。...10、addr1,~n表示从匹配地址addr1开始,直到n倍数行为止。 如果没有给出地址,所有的行都会匹配地址或地址范围追加字符!表示对地址取反,所有不匹配才会被处理。...--开始,匹配到-->之前一直执行N匹配到-->之后删除模式空间中内容 #如在nagios配置文件,有许多define host{...}字段,如下所示: define host{ use windows-server...更多例子 1、删除匹配上一和下一 #例如输入数据为命令seq 10输出(当然也可以是任意其他文件内容) #要求删除匹配5那一前一 [root@centos7 temp]# seq

1K30

Sed三剑客入门与进阶

c 把选定改为新文本(类似于替换)。 d 删除选择 D 删除模板块第一 s 替换指定字符 h 拷贝模板块内容到内存缓冲区。 H 追加模板块内容到内存缓冲区。...* 匹配0个或多个字符,如:/*sed/匹配所有模板是一个或多个空格紧跟sed。 [] 匹配一个指定范围内字符,如/[ss]ed/匹配sedSed。...d;s/.*=//' } WeiyiGeek.奇数与偶数打印 _总结_: sed 匹配是贪婪模式匹配到越多; 正则扩展命令sed之-r选项 描述:使用了该-r选择就能使用正则表达式扩展语法,写一些正则符号前无需添加...## #-n选项和p命令一起使用表示只打印那些发生替换(并未写入文件) $ sed -n 's/test/TEST/p' file $ sed 's/book/books/' file #将文件第一个...# 描述:就是正则表达式元组即\(...\)包含匹配字符串,即匹配给定样式其中一部分, \(..\) 用于匹配子串,对于匹配第一个子串就标记为 \1,依此类推匹配第二个结果就是 \2,例如

3.1K10

上古神器 sed 教程详解,小白也能看

简单描述 sed 工作原理: sed 从输入文件读取内容,每次处理一内容,并把当前内容存储临时缓冲区,称为 模式空间。...s/hello/A/g' file.txt (二)正则定址 正则定址,是通过正则表达式匹配来确定需要处理编辑哪些,其它就不需要处理 # 将匹配到hello执行删除操作,d 表示删除 $ sed...$ sed -n 's/i/A/w b.txt' file.txt $ sed -n 's/i/A/' file.txt > b.txt 注意,sed 修改匹配内容,默认行为是不保存到原文件,...(二)追加行子命令a 子命令 a 表示指定下边插入指定内容; # 将所有下边都添加一内容A $ sed 'a A' file.txt # 将文件1-2下边都添加一内容A $ sed '...这个很容理解 # 将文件1-3内容删除 $ sed '1,3d' file.txt # 将文件This开头行内容删除 $ sed '/^This/d' file.txt (六)设置行号子命令=

2.3K30

快速理解linux流编辑器sed命令

是命令集合 file 是要编辑文件路径 下面通过一些例子来了解sed基本用法 (1)删除 d 命令用来删除 $ sed '1d' Sed.txt 将Sed.txt第一删除输出到屏幕.../' Sed.txt 替换Sed.txt每行第一个abc为ABC 也可以指定替换个数,如想替换两个 $ sed 's/abc/ABC/2' Sed.txt 利用g选项,可以完成所有匹配替换...命令可以匹配之前插入 a 命令可以匹配之后插入 第二前插入文本 $ sed '2 i test' Sed.txt 第二插入文本 $ sed '2 a test' Sed.txt...也可以匹配上一插入内容 例如在匹配到abc上一插入 $ sed '/abc/i\test' Sed.txt (4)打印 使用 p 命令可进行打印,这里使用sed命令时加 -n...参数,表示不打印没关系 打印出文件第一 $ sed -n '1p' Sed.txt 使用p命令,只打印实际处理过,简化输出 $ sed -n 's/abc/ABC/p' Sed.txt

1.1K90

Linux三剑客命令之Sed

命令名称 Sed 一个强大流式文本编辑器 详细说明 sed是一种流编辑器,也是文本处理中非常好工具,配合正则使用更强大处理时,把当前处理存储临时缓冲区,称为“模式空间”,接着用sed命令处理缓冲区内容...c\ #把选定改为新文本 d #删除删除选择 D #删除模板块第一 s #替换指定字符 h #拷贝模板块内容到内存缓冲区 H #追加模板块内容到内存缓冲区 g...#获得内存缓冲区内容,并替代当前模板块文本 G #获得内存缓冲区内容,并追加到当前模板块文本后面 l #列表不能打印字符清单 n #读取下一个输入行,用下一个命令处理新而不是用第一个命令...N #追加下一个输入行到模板块后面并在二者间嵌入一个新,改变当前行号码 p #打印匹配 P #(大写)打印模板第一 q #退出Sed b #lable 分支到脚本带有标记地方...echo "hello world" |sed 's/ /-/1g' hello-world #从第一个空格开始全局替换成-,只不过文本只有一个空格 2、删除操作 sed '/^$/d' filename

1.5K30

Linux基础(day29)

]# 总结 \b 表示单词边界 & 表示 第一个 // 里面的内容 \u表示大写 \l表示小写 三. sed某一最后添加一个数字 [root@hf-01 sed]#...字母开头,替换成1 123 1 123 这里 \1 应该指的是前面 // 内容 & 表示 第一个 // 里面的内容 扩展知识 含有root行前面添加字符abc字符串和一个空格...sed '/root/s/^/abc /' test.txt 第一个root开头到以一个bin开头后面添加abc和空格 sed '/^mail>/,/^ftp>/s/$/ abc/'...删除某行到最后一 sed删除某关键字下一到最后一 格式 sed -i '/sample/{N;d}' filename //sample是匹配字符 N在这里就是下一 d是删除 需求...ba;d}' test a b c 分析 首先匹配匹配到c这行 后面定义一个标签,开始循环,下一一直到结尾都放到模式空间(缓冲区) 然后删除模式空间,打印出结果 if 匹配"c" :a 追加下一

63690

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券