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

linux下sed正则表达式匹配批量替换文件内容

接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。sed主要用来自动编辑一个或多个文件,简化对文件反复操作,编写转换程序等。...如果文件太大,这样打印就会显示很多不必要内容,这样我们就可以使用只打印被匹配命令。...只显示被匹配sed -n 's/hello/world/p' hello.txt n和p意思上文有介绍 不再解释。 执行结果: ?...值得注意是,如果想要回写到文件中(和-i连用),不要只打印当前匹配航,否者只会保存当前匹配行,其他丢失。...替换文件内容,并写到文件sed -i 's/o/ABC/' hello.txt 执行结果: 执行cat查看文件内容: ? 可以看到虽然替换了,但是只替换了第一个被匹配到内容。

5.9K10

Linux sed命令详解

接着下一行,这样不断重复,直到文件末。文件内容没有改改变,除非使用了写入命令,将内容更新。 定址用于决定对哪些进行编辑。地址形式可以是数字、正则表达式、或二者结合。...G 把暂存缓冲区内容追加到模式空间里,追加在原有内容后面 l 列出非打印字符 p 打印行 n 读入下一输入行,并从下一条命令而不是第一条命令开始对其处理 q 结束或退出...y命令) sed常见命令参数 p==print d:delete =:打印匹配行号 -n 取消默认完整输出,只要需要 -e 允许多项编辑 -i 修改文件内容 -r 不需要转义 注意:&...符号在sed命令中代表上次匹配结果 常用命令展示 sed擅长行输出,附源文件: hhh pts/1 192.168.25.1 Sat Jun 30 22:04...& 符号在sed命令中代表上次匹配结果 sed 's/world/hello_&/g' yum.log ?

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

    linux:sed修改xml中值示例

    首先确定搜索范围: 通过在xml中查找server起始标记和结束标记来确定搜索起始行号和结束行号 然后在搜索范围内进行正则表达式匹配替换 实现如下: # 查找起始标志...为 6 # 查找结束标志获取sed搜索范围结束行号 end_line=$(sed -n '//=' defaultConfig.xml) # end_line.../bin/bash # 查找xml文件中指定tag起始和结束标志 # 执行成功 tag_begin 保存起始标志行号,tag_end 保存结束标志行号 # $1 xml file # $2 tag name...# 以后每次循环都在上次找到行号范围内查找,会一步步缩小范围 for (( i = 1 ; i < $size ; i++ ))...,没找到节点则失败返回255 # sed 修改文件失败返回sed错误代码 function set_xml_value() { find_xml_tags "$1" "$2" || exit

    3.3K10

    Shell 编程(五):文本三剑客之 sed

    sed 选项 选项 含义 -n 只打印模式匹配行 -e 直接在命令行进行sed编辑【默认选项】 -f 编辑动作保存在文件中,指定文件执行 -r 支持 扩展正则表达式 -i 直接修改文件内容 例子 匹配全部行...匹配到第10行 10,20command 匹配从第10行开始,到第20行结束 10,+5command 匹配从第10行开始,到第16行结束 /pattern1/command 匹配到pattern1行...,到匹配到pettern1结束 /pattern1/, 10command 匹配到pattern1行开始,到第10行匹配结束 例子 直接打印第 10 行 > sed -n '10p' passwd...行内容 /pattern1/,/pattern2/d 删除匹配到 pattern1 直到匹配到 pattern2 所有行内容 /pattern1/,10d 删除匹配到 pattern1 行到...10 行所有行内容 10,/pattern1/d 删除第 10 行直到匹配到 pattern1 所有行内容 例子 删除配置文件 /etc/nginx 中所有注释行和空行 > sed -i '/

    79610

    Shell 编程(五):文本三剑客之 Sed

    sed 选项 选项 含义 -n 只打印模式匹配行 -e 直接在命令行进行sed编辑【默认选项】 -f 编辑动作保存在文件中,指定文件执行 -r 支持 扩展正则表达式 -i 直接修改文件内容 例子 匹配全部行...10行开始,到第20行结束 10,+5command 匹配从第10行开始,到第16行结束 /pattern1/command 匹配到pattern1行【常用】 /pattern1/,/pattern2.../command 匹配到pattern1行开始,到匹配到pattern2结束【常用】 10,/pattern1/command 匹配从第10行开始,到匹配到pettern1结束 /pattern1...行内容 /pattern1/,/pattern2/d 删除匹配到 pattern1 直到匹配到 pattern2 所有行内容 /pattern1/,10d 删除匹配到 pattern1 行到...10 行所有行内容 10,/pattern1/d 删除第 10 行直到匹配到 pattern1 所有行内容 例子 删除配置文件 /etc/nginx 中所有注释行和空行 > sed -i '/

    22730

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

    直到主动退出(q)或输入结束。...此时可以用(\`)匹配模式空间开头位置,用(\')匹配模式空间结束位置。 还可以用逗号,分隔两个地址来表示一个范围 表示从匹配第一个地址开始,直到匹配第二个地址或文件结尾为止。...10、addr1,~n表示从匹配地址addr1开始,直到n倍数行为止。 如果没有给出地址,所有的行都会匹配;在地址或地址范围后追加字符!表示对地址取反,所有不匹配行才会被处理。...应用此选项时,sed会创建一个临时文件,并将处理结果输出到此文件,处理完毕后,会将此临时文件覆盖至原文件。...:world 3、\L 将后面的字符转化成小写直到 \U 或 \E 出现; 4、\l 将下一个字符转化为小写; 5、\U 将后面的字符转化成大写直到 \L 或 \E 出现; 6、\u 将下一个字符转化为大写

    1.1K30

    文本处理三剑客之sed

    接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。 sed用法:        sed [option] ...'...w 保存模式匹配行至指定文件 r 读取指定文件文本至模式空间中匹配行后。 ! 表示后面的命令对匹配行取反。 = 打印当前行号码。...$ 匹配结束,如:/sed$/匹配所有以sed结尾行。 . 匹配一个非换行符任意字符,如:/s.d/匹配s后接一个任意字符,最后是d。...\< 匹配单词开始,如:/\<love/匹配包含以love开头单词行。 \> 匹配单词结束,如/love\>/匹配包含以love结尾单词行。...然后该行被输出,模式被清空;接着,在重复执行刚才动作,文件一行被读入,直到文件处理完毕。 模式空间可以比喻为一个生产线,而保持空间则可以被比喻为仓库。

    93520

    sed 命令+正则表达式

    sed是一个非交互性性文本编辑器, 它编辑文件或标准输入导出文件拷贝。标准输入可能是来自键盘、文件重定向、字符串或变量,或者是一个管道文件。...,重复过程直到命令结束 sed命令调用:     在命令行键入命令;将sed命令插入脚本文件,然后调用sed;将sed命令插入脚本文件,并使sed脚本可执行     sed [option] sed命令...如果在行尾匹配单词j e t 0 1,操作如下:j e t 0 1 $    如果只返回包含一个字符行,操作如下:^ . $ 4、使用*匹配字符串中单字符或其重复序列    使用此特殊字符匹配任意字符或字符串重复多次表达式...使用“ -”表示一个字符串范围,表明字符串范围从“ -”左边字符开始,到“ -”右边字符结束。...其中,“^”定位符规定匹配模式必须出现在目标字符串开头,“$”定位符规定匹配模式必须出现在目标对象结尾,\b定位符规定匹配模式必须 出现在目标字符串开头或结尾两个边界之一,而“\B”定位符则规定匹配对象必须位于目标字符串开头和结尾两个边界之内

    3.4K20

    Linux Shell工具篇 - 内容处理工具sed

    sed '3ahello' sed.txt #3 代表第三行 #a 代表在后面添加, 出现在下一行 #注意这里没有修改源文件 运行效果 向第三行前面添加hello: sed '3ahello'...sed.txt #3 代表第三行 #a 代表在后面添加, 出现在下一行 #注意这里没有修改源文件 运行效果 1.2 指定内容前或后面添加数据 向内容 itheima 后面添加 hello ,如果文件中有多行包括...sed '1,3d' sed.txt # 1,3 从指定第1行开始到第3行结束 运行效果 2.4 删除指定范围取反多行数据 删除从第1行到第3行取反数据: sed '1,3!...从指定第1行开始到第3行结束取反, 就是除了第1行到第3行,其他行都删除 运行效果 2.5 删除最后一行 sed '$d' sed.txt 运行效果 2.6 删除匹配字符串sed '/itheima.../d' sed.txt 运行效果 2.7 删除匹配行到最后一行 删除匹配itheima行一直到最后一行: sed '/itheima/,$d' sed.txt #, 代表范围匹配 运行效果

    1.5K20

    linux文本处理三剑客之sed增删改查

    sed(stream editor, 流编辑器)是linux下非常强大非交互式文本编辑器,主要功能是对文本每一行数据进行匹配后操作,比如按行、按字段、按正则匹配文本内容,然后进行增删改查操作。...” sed原理 sed处理文本时,先将当前处理行存储在临时缓冲区中,接着用sed命令处理缓冲区中内容,处理完成后,把缓冲区内容送往屏幕。然后处理下一行,这样不断重复,直到文件末尾。...-f 后跟保存了sed指令文件 -n 取消默认输出,sed默认会输出所有文本内容,使用-n参数后只显示处理过行 -r ruguler 使用扩展正则表达式,默认情况sed只识别基本正则表达式 *...sed程序命令 替换语法 s/xx/yy/g s/xx/yy/ +g :匹配每一行有行首到行尾所有字符 不加g:匹配每一行行首开始匹配匹配到第一个符合字段,就会结束,跳到下一行 多个sed...命令使用 将sed.txt文件第1行删除并将 `abc` 替换为 `xyz` sed -e '1d' -e 's/acc/xyz/g' sed.txt sed常用操作案例

    32520

    知道这几个命令让你掌握Shell自带工具

    处理时,把当前处理行存储在临时缓冲区中,称为“模式空间”,接着用sed命令处理缓冲区中内容,处理完成后,把缓冲区内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。...基本用法 sed [选项参数] ‘command’ filename 参数说明 -e : 直接在指令列模式上进行sed动作编辑 命令功能 a : 新增,a后面可以接字串,在下一行出现 d : 删除...案例2:删除sed.txt文件所有包含wosed '/wo/d' sed.txt 案例3:将sed.txt文件中wo替换为ni sed 's/wo/ni/g' sed.txt...action:在找到匹配内容时所执行一系列命令 参数说明 -F : 指定输入文件折分隔符 -v : 赋值一个用户定义变量 案例: 准备数据 sudo cp /etc/passwd ./ 搜索passwd...sort -t : -nrk 3 sort.sh 本次分享到这里就结束了,希望对大家有所帮助。

    59440

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

    接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件反复操作;编写转换程序等。...# 匹配结束,如:/sed/匹配所有以sed结尾行。 . # 匹配一个非换行符任意字符,如:/s.d/匹配s后接一个任意字符,最后是d。...< # 匹配单词开始,如:/<love/匹配包含以love开头单词行。 > # 匹配单词结束,如/love>/匹配包含以love结尾单词行。...定界符 以上命令中字符 / 在sed中作为定界符使用,也可以使用任意定界符: sed 's:test:TEXT:g' sed 's|test|TEXT|g' 定界符出现在样式内部时,需要进行转义:...行后,退出sed: sed '10q' file 直到找到第一个匹配项,退出sed: [root@node4 ~]# sed '/nginx/q' nginx.yml --- - hosts: nginx

    23810

    Linux从入门到入土②(系统管理、正则表达式)

    sed 可依照脚本指令来处理、编辑文本文件sed 主要用来自动编辑一个或多个文件、简化对文件反复操作、编写转换程序等。...例如:设置shell变量var值为evening,用sed命令查找匹配var变量值行:图片==动作说明==a :新增, a 后面可以接字串,而这些字串会在新一行出现(目前下一行)~c :取代,...d :删除, d 后面通常不接任何东西;i :插入, i 后面可以接字串,而这些字串会在新一行出现(目前上一行);p :打印,亦即将某个选择数据印出。...格式一般如下:s/正则/替换内容/gg表示全局匹配==sed匹配范围==:图片==应用举例==以行为单位新增/删除[root@www ~]# nl passwd | sed '2,5d'1 root:...exit结束脚本程序执行,该函数接受一个整数作为参数表示 AWK 进程结束状态。

    82110

    Linux 流编辑器 sed 详解

    sed 编辑器匹配完一行数据后,它会读取下一行数据并重复这个过程,直到处理完所有数据。使用 sed 命令打开一个 sed 编辑器。...作为字符串分隔符 默认情况下,替换命令只会替换掉目标文本在每行中第一次出现地方。若想要替换掉每行中所有匹配地方,可以使用替换标记 g。替换标记放在编辑命令末尾。...文件 root,全部替换为 ROOT; 3)p :打印与替换命令中指定模式(srcStr)相匹配行: sed 's/root/ROOT/p' /etc/passwd 执行这命令,会在 STDOUT...pattern1 行,然后从该行开始,执行编辑命令,直到找到匹配 pattern2 行。...但是需要注意是,使用文本区间过滤文本时,只要匹配到了开始模式(pattern1),编辑命令就会开始执行,直到匹配结束模式(pattern2),这会导致一种情况:一个文本中,先匹配到了一对 pattern1

    1.5K10

    sed & awk 第二版学习(四)—— 基本 sed 命令

    修饰替换标志 flags 是: n:1 到 512 之间一个数字,表示对模式第 n 次出现进行替换。 g:对模式空间所有匹配进行全局替换。没有 g 时只替换第一个匹配。...在较长脚本中,必须记住出现在 n 命令之前命令不会应用于新输入行,而且出现在 n 后面的命令不应用于旧输入行。 11. 读、写文件 读(r)和写(w)命令用于直接处理文件。...它只适用于单行地址,一旦找到和地址匹配行,脚本就结束。在将编辑操作写回到原始文件任何程序中不要使用 q 命令。在执行 q 命令后,就不会再产生输出。...使用退出命令从文件中打印前 100 行: sed '100q' test 它打印每一行,直到到达行 100 并且退出。在这点上,该命令功能与 UNIX head 命令类似。...$/q }" $file 当 sed 找到了要寻找结尾(这一行本身在第一个宏定义结束地方终止脚本),程序当即退出,并且不再继续遍历文件剩余部分寻找其它可能匹配

    7310

    Linux学习----文本三剑客——sed(马哥教育原创)

    ; -i: 直接修改源文件; 地址定界: #: 指定行; $: 最后一行; /regexp/:任何能够被regexp所匹配行;sed ‘/^#/d’ /etc/fstab #删除以井号开头行 \%.../:从#行开始,到第一次被/regexp/所匹配结束,中间所有行; #,# /regexp1/,/regexp2/:从第一次被/regexp1/匹配行开始,到第一次被/regexp2/匹配结束...,中间所有行; #,+|-n:从#行开始,一直到向下n行; first~step:指定起始行,以及步长; sed编辑命令 d: 删除模式空间中行;sed ‘1,2d’ /etc/fstab =...#,/regexp/:从#行开始,到第一次被/regexp/所匹配结束,中间所有行; #,# /regexp1/,/regexp2/:从第一次被/regexp1/匹配行开始,到第一次被.../regexp2/匹配结束,中间所有行; #,+|-n:从#行开始,一直到向下n行; first~step:指定起始行,以及步长; sed编辑命令 d: 删除模式空间中行;sed

    1.4K30

    30分钟玩转「正则表达式」

    如果含有要查找 ”关健字“,那么默认返回该文本文件中包含该”关健字“该行内容,并在标准输出中显示出来,除非使用了“>" 重定向符号, c. grep 与 egrep 在处理文本文件时,是按行处理...a. sed 处理对象:文本文件 b. sed 处理操作:对文本文件内容进行 --- 查找、替换、删除、增加等操作 c. sed 在处理文本文件时候,也是按行处理 Awk...小结 正则表达式不仅可以用来匹配任意长度文本块,还可以用来匹配出现在字符串中特定位置文本。\b用来指定一个单词边界(\B刚好相反)。^和$用来指定字符串边界(字符串开头和结束)。...在这个例子中,原始文本里有一个标题是以开头、以结束。这显然是一个不合法标题,但是它与我们所使用模式匹配上了。出现这种情况根源是这个模式第2部分对模式第1部分毫无所知。...\L和\U将它后面的所有字符转换为小写或大写,直到遇到\E为止。

    1.9K20
    领券