首页
学习
活动
专区
圈层
工具
发布

linux 使用sed替换文本

背景:在linux 服务器上,有时我们想通过命令行的方式替换掉文件中的某个字符串,可以使用sed命令。...具体的命令详情可参考:http://www.runoob.com/linux/linux-comm-sed.html 本例中我们想在linux服务器替换掉如下的 targetHost 的ip 11.125.52.27...:8080 image.png 命令行:sed -i 's/"targetHost":[^,]*/"targetHost":"11.125.26.134:8080"/' config.json ----...-i 可以直接对文本文件进行操作; sed 's/要被取代的字串/新的字串/g', 其中 g 代表全部替代匹配到的内容; 上述命令中,要被取代的字符串【"targetHost":[^,]*】,该正则表达式解释为...:以 "targetHost": 开始,到不是 , 的所有字符;替换为【"targetHost":"11.125.26.134:8080"】; 以上完整命令即可做到替换掉文本中的ip和端口。

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

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

    sed命令介绍 sed是一种流编辑器,它是文本处理中非常有用的工具,能够完美的配合正则表达式使用,功能不同凡响。...x 表示互换模板块中的文本和缓冲区中的文本 y 表示把一个字符翻译为另外的字符(但是不用于正则表达式) \1 子串匹配标记 & 已匹配字符串标记 当然要使用其功能需要对正则表达式有一定了解。...替换hello成world,并打印到屏幕上 sed 's/hello/world/' hello.txt s 表示替换 hello 表示匹配的字母,是正则表达式 world 表示需要替换成的字母...替换文件中的内容,并写到文件里 sed -i 's/o/ABC/' hello.txt 执行结果: 执行cat查看文件内容: ? 可以看到虽然替换了,但是只替换了第一个被匹配的到内容。...如果想全部替换到字母'o',就需要使用参数'g'。 全部替换,,并写到文件里 sed -i 's/o/ABC/g' hello.txt ? 执行后,全部的'o',都被替换了。

    6.9K10

    idea全局正则替换

    ——奥斯卡.王尔德 idea的全局替换我们经常使用,但一般我们都是替换指定内容,如把ruben改成achao等 我们也可以开启正则表达式,进行匹配 例如我这里要把所有的以r开头的单词用引号引起来:...我们按下ctrl+shift+r进行替换全局,我这里就用当前页面作为演示了,毕竟懒得还原 我使用ctrl+r打开替换菜单,然后按下alt+x 查找栏输入: (r[a-zA-Z0-9_]+$) 然后替换栏输入...: "$1" 这里已经可以看到提示了 我们点击替换或者全局替换都可以的,替换后效果如下 如果我们有两个值,例如我这里叫vampire achao,想要给它这样的两个单词打上引号 就可以输入(v[a-zA-Z...]+) ([a-zA-Z]+),替换为" 点击替换后效果:

    3K10

    sed 命令+正则表达式

    查询不包含指定行号x和y的行 基本sed编辑命令:     p      打印匹配行                      c\    用新文本替换定位文本     =      显示文件行号                   ...s     使用替换模式替换相应模式     a\     在定位行号后附加新文本信息        r     从另一个文本中读文本     i\     在定位行号后插入新文本信息        w...'1d' temp.txt  或者 sed '1,4d' temp.txt     替换文本: sed 's/source/OKSTR/' temp.txt     将source替换成OKSTR             ...将替换后的记录写入文件temp2.txt     替换修改字符串: sed 's/source/"ADD BEFORE" &/p' temp.txt              结果将在source字符串前面加上...入门简介   简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具。

    4.2K20

    正则三剑客-sed

    与grep不同的是,当使用sed匹配字符串的时候如下: #sed -n ‘//‘p file             // 内填写需要匹配的字符串 例如: #sed -n ‘/root/’p /etc/...-n ‘/r.t/’p passwd # sed -n ‘/r*t/’p passwd # sed -nr ‘/o+t/’p passwd = #sed -n ‘/o\+t/’ passwd            ...//匹配root或login的行 总之一句话,想少用\  那你就用-r ---- sed打印指定的行(注意:sed -n 一般都是和p一起用): #sed -n ‘2’p passwd          ...//删除user2这个关键字的行 ---- sed替换功能: #sed ‘1,20s/root/toor/g’ passwd #sed -r ‘1,10s/ro+/r/g’ passwd                      ...中所有的英文字符(替换成空即为删除) #head passwd | sed -r ‘s/(.*)/aaa:&/g’              //在前十行每行的前面添加 aaa: ##反复练习,方可熟能生巧

    83050

    (转载)Linux之sed匹配第N个进行替换

    文本: aa 88 bb 88 88 cc 88 88 替换第一个88为--: sed '0,/88/s//--/' file sed ':a;N;$!...第二个句子是通过循环把文本全部读进pattern space 然后只替换第一个。 替换第N[3]个88为--: sed '/88/{x;s/^/./;/^\.\{3\}$/{x;s/....第二个命令和上面第一个其实是一样的原理,全部读入文本后统一替换第3个匹配的内容。 替换最后一个匹配的88为--: sed ':a;/\n88/!...所以这整个流程只会替换最后一个88。 第二个命令其实和上面的都一样,也是全部读进 pattern space 里,最后利用正则的贪婪替换掉最后一个88。 再次感谢原作者的无私奉献。...» 本文链接:(转载)Linux之sed匹配第N个进行替换 » 转载请注明来源:刺客博客

    10K40
    领券