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

(转载)Linuxsed匹配第N个进行替换

替换第N[3]个88为--: sed '/88/{x;s/^/./;/^\.\{3\}$/{x;s/.*/--/;x};x;}' file sed ':a;N;$!...替换最后一个匹配的88为--: sed ':a;/\n88/!{$s/88/--/;N;ba};P;D' file sed ':a;N;$!...\n88 内容的第一打印,删除,直到不匹配/\n88/(因为换行符已经被打印出去了,所以不再会匹配到 \n88),这时候才继续往下读,如果又读到88的,那么又执行P;D循环,同上操作。...一直到匹配到最后一个88的,继续读取到末行时执行替换,N 因为没有下一可读,所以会自动中止命令,因为没有 -n 参数会打印 pattern space 里的内容到屏幕,所以就不会再执行后面的 ba...» 本文链接:(转载)Linuxsed匹配第N个进行替换 » 转载请注明来源:刺客博客

8.9K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux - sed

    生信技能树学习笔记 sed 流编辑器,一般用来对文本进行增删改查 图片 图片 图片 常见功能: 增 删 改 查 图片 cat readme.txt | sed '1,2i Well' ## 在第一和第二的前面增加...well cat readme.txt | sed '1,3d' ## 删除第1-3 cat readme.txt | sed -e '2i Well' -e '2a Well' ## 第二的前后加...Well cat readme.txt | sed '2,4c ******' ## 会发现三转变成一 cat readme.txt | sed 's/is/IS' ## 默认替换第一个 cat readme.txt...| sed '/www/ s/ee/EE' ## 匹配到有www的那一进行替换 cat readme.txt | sed ‘/ee/p’ ## 有ee那一多打印一次 cat readme.txt...| sed -n '/ee/p' ## 单独打印有ee的,-n只显示经过处理的 cat Data/example.fq | sed -n '2~4p' | head ## 打印序列 cat

    3.3K30

    Linux 命令 | sed

    Linux 命令 sed 命令解析 sed 是一种流编辑器,主要用来对文本进行替换、删除、新增、选取等操作。...sed 的一般形式如下: sed [options] 'command' filename options是可选参数 command是要执行的操作命令 filename是要处理的文件名。...I'm studying sed. 现在要用 sed 命令将其中的第一 Hello world! 替换为 Hi there!...源码演示: sed '1s/Hello/Hi there/' test.txt Linux 命令 sed 命令注意事项 sed 命令一般不会对原始文件进行修改,而是将修改后的结果输出到标准输出流中,如果需要修改原始文件...sed 命令支持多种操作符,如查找、替换、删除、插入等操作。 sed 命令可以通过正则表达式进行模式匹配,以实现更灵活的操作。

    20020

    linux查看某个时间段的日志(sed -n)-史上最详细

    前言 在linux上查找日志的时候,如果我想找出某个时间段的日志,比如查找今天早上8点到下午2点的日志。...用grep不太方便直接过滤出来,可以使用sed根据时间去查找 sed -n ‘/开始时间日期/,/结束时间日期/p’ all.log 查找日志 比如下面这段日志,前面的时间格式都是类似 2019-...-n ‘/2019-10-24 22:16:21/,/2019-10-24 22:16:59/p’ all.log [root@VM_0_2_centos logs]# sed -n '/2019...后来经过实践,指令是没有问题的,只是开始时间和结束时间必须要是日志里面有才。...如果开始时间日志里面是没有的,那么查询结果为空,比如开始时间没有2019-10-24 22:16:22 sed -n ‘/2019-10-24 22:16:22/,/2019-10-24 22:16:

    2.1K20

    删除链表的倒数第N个节点

    删除链表的倒数第N个节点 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2....当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的 n 保证是有效的。 进阶: 你能尝试使用一趟扫描实现吗?...---- 解法一 先遍历一遍计算链表长度;再遍历一遍删除倒数第n个节点 ? 解法二:进阶 只遍历一遍链表,能否解决这个问题?...class Solution { public: ListNode* removeNthFromEnd(ListNode* head, int n) { assert(n >=...示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 进阶: 你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?

    45531

    Linuxsed命令详解

    例如: sed -n '3p' datafile   只打印第三 只显示指定范围的文件内容,例如: # 只查看文件的第100到第200   sed -n '100,200p' mysql_slow_query.log...默认情况下,sed 把输入行打印在屏幕上,选项-n 用于取消默认的打印操作。当选项-n 和命令 p 同时出现时,sed 可打印选定的内容。...sed -n '/my/p' datafile   #选项-n取消sed默认的打印,p命令把匹配模式my的打印一遍。 6.2  d 命令 命令 d 用于删除输入行。...6.10  n 命令 sed 使用该命令获取输入文件的下一,并将其读入到模式缓冲区中,任何 sed 命令都将应用到匹配紧接着的下一上。...6.11  y 命令 该命令与 UNIX/Linux 中的 tr 命令类似,字符按照一对一的方式从左到右进行转换。

    7.1K60

    Linux命令之sed

    Linux命令之sed 在开始写文章之前,再次重复那句话:sed,grep和awk被称之为Linux三剑客。...这句话我一直在强调,足以说明这三个命令在linux中的重要性,废话不多说,今天我们来看看sed的一些操作。...sed执行模板如下: sed ‘模式{命令1;命令2}’ 即逐行读入模式空间,执行命令,最后输出打印出来. 01 n命令和N命令 首先来说n命令: 这个命令简单来讲就是读取下一...sed -n 'n;p'第二个n才是n命令的位置,它的意思是提前读取下一,也就是偶数,然后执行p命令,也就是打印。...再来说说N命令: N命令简单来说就是追加下一到模式空间,同时将两看做一,但是两之间依然含有\n换行符,然后执行后续命令。

    3.5K20

    linux sed命令详解

    sed使用参数 [root@www ~]# sed [-nefr] [动作] 选项与参数: -n :使用安静(silent)模式。...在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一(或者动作)才会被列出来。...动作说明: [n1[,n2]]function n1, n2 :不见得会存在,一般代表『选择进行动作的行数』,举例来说,如果我的动作是需要在 10 到 20 之间进行的,则『 10,20[动作行为]...』 function: a :新增, a 的后面可以接字串,而这些字串会在新的一出现(目前的下一)~ c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的!...使用-n的时候将只打印包含模板的

    4.1K10
    领券