Linux系统中sed命令可以将字符串批量替换,省去了很多麻烦,下面由学习啦小编为大家整理了linux系统中sed命令字符串替换的用法详解,希望对大家有帮助!

linux中sed命令字符串替换的用法详解

sed替换的基本语法为:

sed 's/原字符串/替换字符串/'

单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线”\”进行转义,但是单引号”‘”是没有办法用反斜线”\”转义的,这时候只要把命令中的单引号改为双引号就行了,例如:

sed "s/原字符串包含'/替换字符串包含'/" //要处理的字符包含单引号

命令中的三根斜线分隔符可以换成别的符号,这在要替换的内容有较多斜线是较为方便,只需要紧跟s定义即可,例如换成问号”?”:

sed 's?原字符串?替换字符串?' //自定义分隔符为问号

可以在末尾加g替换每一个匹配的关键字,否则只替换每行的第一个,例如:

sed 's/原字符串/替换字符串/' //替换所有匹配关键字

上箭头”^”表示行首,美元”$”符号如果在引号中表示行尾,但是在引号外却表示末行(最后一行),这里犯二了,搜了半天哪个符号表示首行,半天才想起来,首行就是数字”1″啊.那么在行首和行尾添加字符串就是把行尾和行首替换,例如:

sed 's/^/添加的头部&/g' //在所有行首添加

sed 's/$/&添加的尾部/g' //在所有行末添加

sed '2s/原字符串/替换字符串/g' //替换第2行

sed '$s/原字符串/替换字符串/g' //替换最后一行

sed '2,5s/原字符串/替换字符串/g' //替换2到5行

sed '2,$s/原字符串/替换字符串/g' //替换2到最后一行

替换样式可以多个在同一条命令中执行,用分号”;”分隔,例如:

sed 's/^/添加的头部&/g;s/$/&添加的尾部/g' //同时执行两个替换规则

sed处理过的输出是直接输出到屏幕上的,要保存可以将输出重定向,或者使用参数”i”直接在文件中替换:

sed -i 's/原字符串/替换字符串/g' filename //替换文件中的所有匹配项

linux中sed命令批量替换字符串操作

使用sed命令可以进行字符串的批量替换操作,以节省大量的时间及人力;

使用的格式如下:

sed -i "s/oldstring/newstring/g" `grep oldstring -rl path

其中,oldstring是待被替换的字符串,newstring是待替换oldstring的新字符串,grep操作主要是按照所给的路径查找oldstring,path是所替换文件的路径;

-i选项是直接在文件中替换,不在终端输出;

-r选项是所给的path中的目录递归查找;

-l选项是输出所有匹配到oldstring的文件;

实例:

1. 替换指定文件的字符串

sed -i "s/oldstring/newstring/g" filename

sed -i "s/6/sk/g" ./test01.txt

2. 字符串替换批量文件操作

sed -i "s/6/sk/g" ·grep 6 -rl /home/work/test`

sed -i "s/6/sk/g" ·grep 6 -rl /home/work/test/*.sh`

可将test目录下的所有相关文件都进行字符串替换

补充:Linux中sed命令使用时的小技巧

在sed的命令行中引用Shell变量时要使用双引号,而不是通常所用的单引号。下面是一个根据name变量的内容来删除named.conf文件中zone段的脚本:

name='zone "localhost"'

sed "/$name/,/};/d" named.conf

sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`

例如:替换/home下所有文件中的www.itbbs.cn为chinafar.com

# sed -i “s/www.itbbs.cn/chinafar.com/g” `grep www.itbbs.cn -rl /home`

linux中替换命令详解,linux中sed命令字符串替换的用法详解相关推荐

  1. 计算机曝光模式有哪些,摄影:单反相机中P、A、S、M四种曝光模式的用法详解 -电脑资料...

    这篇教程是向脚本之家的朋友介绍单反相机中P.A.S.M四种曝光模式的用法,对于摄影爱好者非常值得学习,推荐到脚本之家,喜欢的朋友一起来看看吧 很多朋友在初接触单反相机时对相机的P.A.S.M四种曝光模 ...

  2. python中import re_Python3中正则模块re.compile、re.match及re.search函数用法详解

    本文实例讲述了Python3中正则模块re.compile.re.match及re.search函数用法.分享给大家供大家参考,具体如下: re模块 re.compile.re.match. re.s ...

  3. linux echo写入空文件夹,如何用sed命令往空文件中写入数据

    朋友碰到个难题,就是用sed命令往空文件末尾中写入数据,数据来自一个变量,怎么都添加不成功,然后问我要如何处理.仔细想了下,如果文件为非空的话,使用sed命令是可以搞定的,命令如下: sed -i ' ...

  4. python中search用法_Python3中正则模块re.compile、re.match及re.search函数用法详解

    本文实例讲述了Python3中正则模块re.compile.re.match及re.search函数用法.分享给大家供大家参考,具体如下: re模块 re.compile.re.match. re.s ...

  5. linux 行首加特定字符_linux shell 用sed命令在文本的行尾或行首添加字符

    昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了sed命令上,今天不总结一下都对不起昨天流逝的时间啊~~~ 用sed命令在行首或行尾添加字符的命令有以下几种: 假设处理的文本为test.f ...

  6. linux 行首加特定字符_Linux:用sed命令在文本的行尾或行首添加字符

    用sed命令在行首或行尾添加字符的命令有以下幾種: 假設處理的文本為test.file 在每行的頭添加字符,比如"HEAD",命令如下: sed 's/^/HEAD&/g' ...

  7. 给妹子讲python-S01E05字符串的基本用法详解

    欢迎关注公众号:python数据科学家 [要点抢先看] 1.字符串支持一些容器的基本操作,如分片索引 2.字符串的不可修改特性 3.字符串的连接.遍历和成员测试 4.字符串赋值操作中的深拷贝与浅拷贝 ...

  8. 如何使用sed进行字符串替换?

    sed -i 's/badoo/instagram/' myfile 将 myfile 文件中每行第一次出现的badoo用字符串instagram替换,然后将该文件内容输出到标准输出 sed -i ' ...

  9. java 正则替换非数字和字母_java - 用空字符串替换所有非字母数字字符

    java - 用空字符串替换所有非字母数字字符 我尝试使用这个但没有工作 - return value.replaceAll("/[^A-Za-z0-9 ]/", "&q ...

  10. python剑指offer替换空格_《剑指Offer》字符串 替换空格

    //str.replace(char oldChar,char newChar);用字符newChar替换oldChar;返回一个新的字符串 public class Solution { publi ...

最新文章

  1. linux pip 找不到python
  2. Maven Build Lifecycle
  3. Spark _03RDD_Transformations_Action_使用scalajavaAPI
  4. 电脑没有ps怎么改照片dpi_PS入门笔记!新手必备
  5. Eclipse生成get,set方法,无参构造方法和有参构造方法
  6. 25 岁的 JavaScript 都经历了什么?
  7. ubuntu下rar文件解压后文件名乱码的解决方案
  8. 二维树状数组(bzoj 1452: [JSOI2009]Count)
  9. 设置货币值中使用的小数位数
  10. HTML: 和 是何方神圣
  11. STM32一体化步进电机驱动器控制步进电机
  12. 查看oracle是否删除干净,n你好,之前卸载了oracle,该怎么查看以前Oracle卸载干净没?...
  13. xshell上传文件到虚拟机Linux服务器
  14. 分享七个超好用的免费工具网站,每一个都是神器!
  15. 联发科mtk手机处理器怎么样_“传音”新款手机发布,设计大胆,搭载联发科G90T处理器...
  16. 基于微前端qiankun的多页签缓存方案实践
  17. 秒懂SpringBoot之Spring对象生命周期与扩展点浅尝辄止
  18. d2l.Vocab(sentences, min_freq=5, reserved_tokens=[‘<pad>‘, ‘<mask>‘, ‘<cls>‘, ‘<sep>‘]) 参数讲解
  19. 整理任正非思想:再论反骄破满,在思想上艰苦奋斗-1996
  20. 线性回归 | Kaggle案例 预期寿命影响预期寿命的因素的统计分析(基于torch)

热门文章

  1. 【转】火鸟Firebird数据库的中文参考资料
  2. 未能加载文件或程序集“ypt_ywgd”或它的某一个依赖项。生成此程序集的运行时比当前加载的运行时新,无法加载此程序集。...
  3. Java中的重写和重载区别
  4. 远航汽车:坚持合作共赢经营理念 携手志同道合者共创美好未来
  5. 如何查看tensorflow lite toco编译时的各个参数
  6. leetcode算法之二分查找
  7. 【Hadoop配置】用最短的时间配置伪分布式Hbase(亲身经历)
  8. 何隆昌 element-ui 表格实现鼠标移上去显示信息
  9. [Vulkan教程] 一: 创建VkDevice
  10. Java写Excel时OOM_JAVA解析Excel工具避免OOM