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

sed中的正则匹配

sed很早就支持正则表达式了,这在文件处理中非常有用,以下列出一些常见用法(GNU SED版本)。 ? 1. 首/行尾 首用^表示,行尾用$表示。例如有如下test.txt文件: ?...匹配在列表中的任意字符 用[]代表这样的列表,比如: echo -e "Cat\nBat\nHat" | sed -n '/[CH]at/ p' 结果输出: Cat Hat []代表从其中选择一个...不在列表中的任意字符 echo -e "Cat\nBat\nHat" | sed -n '/[^CH]at/ p' 仅输出Bat。 5. 匹配出现某种次数(+; * ; ?...例子 匹配上海市电话号码: # eg. 021-52060888 echo 021-52060888 | sed -n '/^012-[0-9]\{8\}/p' 匹配ip地址: echo '127.255.255.254...' | sed -n '/[0-9]\+.[0-9]\+.[0-9]\+.[0-9]\+/p' 值得注意的是,在sed中不支持\d匹配数字,此处须用[0-9]。

7.1K20

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

第二个命令和上面第一个其实是一样的原理,全部读入文本后统一替换第3个匹配的内容。 替换最后一个匹配的88为--: sed ':a;/\n88/!....*\)88/\1--/' file [解析] 第一个命令,没匹配到 /\n88/ 的内容就读取下一,然后 ba 跳转去开始处,如果读取到88的呢,就执行后面的 P;D 组合,D也有循环功能,一直把匹配...\n88 内容的第一打印,删除,直到不匹配/\n88/(因为换行符已经被打印出去了,所以不再会匹配到 \n88),这时候才继续往下读,如果又读到88的,那么又执行P;D循环,同上操作。...一直到匹配到最后一个88的,继续读取到末行时执行替换,N 因为没有下一可读,所以会自动中止命令,因为没有 -n 参数会打印 pattern space 里的内容到屏幕,所以就不会再执行后面的 ba...» 本文链接:(转载)Linuxsed匹配第N个进行替换 » 转载请注明来源:刺客博客

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.4K30

    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 命令可以通过正则表达式进行模式匹配,以实现更灵活的操作。

    20820

    linux sed命令使用

    sed是一款常用的文本处理工具,其名称来自于“stream editor”(流编辑器)。sed能够从标准输入或文件中读取文本,对文本进行编辑和转换,然后将结果输出到标准输出或指定的文件中。...在Linux系统中,sed命令是一种非常强大和灵活的工具,可以帮助用户进行多种文本操作,如文本替换、删除、插入、打印等等。...常用选项 sed命令有一些常用选项,这里列举一些常用的: -n:不自动打印模式空间的内容,只有在命令中显式指定打印时才会打印; -i:在原文件中直接修改,而不是输出到标准输出或指定文件中; -e:允许对文件进行多个编辑动作...如果省略g,则只替换每行中的第一个匹配项。 2. 删除操作 sed命令可以用来删除文件中的某些。删除操作的格式为: sed '行号d' 文件名 其中,d表示删除操作。...可以通过指定多个行号来删除多行,例如: $ sed '2d;3d' test.txt line 1 上面的命令将文件中的第二和第三删除。 3. 插入操作 sed命令可以用来向文件中插入文本。

    3.8K10

    Linuxsed命令详解

    简介 sed 是非交互式的编辑器。它不会修改文件,除非使用 shell 重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。 sed 编辑器逐行处理文件(或输入),并将结果发送到屏幕。...) 3.2 sed 选项 选项 功              能 -e 进行多项编辑,即对输入行应用多条 sed 命令时使用 -n 取消默认的输出 -f 指定 sed 脚本的文件名 4.退出状态 sed...sed '/my/p' datafile   #默认情况下,sed把所有输入行都打印在标准输出上。如果某行匹配模式my,p命令将把该行另外打印一遍。     ...sed -n '1,20s/My$/You/gp' datafile   #取消默认输出,处理1到20匹配以My结尾的,并将行尾的My替换为You,仅打印匹配。...6.11  y 命令 该命令与 UNIX/Linux 中的 tr 命令类似,字符按照一对一的方式从左到右进行转换。

    7.1K60

    linux sed基本用法

    -f file 在处理输入时,将file中指定的命令添加到运行的命令中 -n 不要为每个命令生成输出,等待print命令来输出 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...s/pattern/replacement/flags 有四种替换标记 1、数字 表明新文本将替换地挤出模式匹配的地方 2、g 表明新文本将会替换所有已有文本出现的地方 3、p 表明原来的内容要打印出来...d 1 Test line 2 [root@pppoe ~]# echo "Test line 2" | sed 'a\Test d 1' Test line 2 Test d 1 在第三前面插入一数据...[root@pppoe ~]# sed '3i\wz' data3 one line of test. two lin of test. wz thress line is test 在第三后面插入一数据...pppoe ~]# sed '$a\wz' data3 one line of test. two lin of test. thress line is test wz 插入多行时必须对新文本的每一使用反斜线

    3.5K20

    Linux命令之sed

    Linux命令之sed 在开始写文章之前,再次重复那句话:sed,grep和awk被称之为Linux三剑客。...这句话我一直在强调,足以说明这三个命令在linux中的重要性,废话不多说,今天我们来看看sed的一些操作。...模式空间:sed处理文本内容的一个临时缓冲区,模式空间中的内容会主动打印到标准输出,并自动清空模式空间 保持空间:sed处理文本内容的另一个临时缓冲区,不同的是保持空间内容不会主动清空,也不会主动打印到标准输出...sed执行模板如下: sed ‘模式{命令1;命令2}’ 即逐行读入模式空间,执行命令,最后输出打印出来. 01 n命令和N命令 首先来说n命令: 这个命令简单来讲就是读取下一...first字样,使用i参数在匹配的后面添加second字样。

    3.5K20

    linux sed命令使用

    https://blog.csdn.net/haluoluo211/article/details/77985202 sed 来源 stream editor" 本文主要内容: sed输出指定...、排除指定输出、非连续输出替换显示,指定后面添加内容 行数据替换,通配符,指定范围 直接修改文件内容 ---- -i:直接修改读取文件的内容,而不是由屏幕输出。...-p:打印和sed -n结合使用 ---- sed输出指定、排除指定输出、非连续输出替换显示 ---- 输出指定sed -n 'n1,n2 p',例如2-3sed -n '2,3p'...filename 删除指定 sed '2,3d' filename 指定后面添加,字符串,例如 第二后面添加’after line 2’ sed '2a after line 2' 指定替换...,例如2-3替换为 'Line2-3' sed '2,3c Line2-3' 输出myfile.txt lines 5-7 以及 10-13 : sed -n -e '5,7p' -e '10,13p

    4.9K20

    linux工具——sed整理

    Hi, 我是小萝卜算子 既然重温了linux工具——grep文本处理器, 怎能少了sed.........一、介绍 sedLinux中最常用的"文本处理工具"之一,常规情况下,每次匹配内容到模式空间,经过处理变化之后,输出结果 针对个别特殊情况,比如想连续操作多行数据,可使用hold空间以及t,b分支控制输出...-i:对执行文件进行修改 -n:只显示处理过的 -r:扩展正则表达式 --select(筛选) 筛选条件 (下面英文是我自己想的,同学们看明白即可,开始和结束可自由匹配) num: 具体数字 ,指定具体比如...5d 代表删除第五 start,end: 指定开始和结束行号 $: 末尾行 start~step: 指定开始行和步长 start,+num: 表示向后匹配num /regex/:正则匹配 /...r,w 读写(我用的比较少) --content operate(内容操作) s:替换 替换掉匹配的内容,与linux工具——vim文本编辑器整理中命令行模式的替换类似,基本用法:s/src/dest

    8.6K20
    领券