linux中替换命令详解,linux中sed命令字符串替换的用法详解
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命令字符串替换的用法详解相关推荐
- 计算机曝光模式有哪些,摄影:单反相机中P、A、S、M四种曝光模式的用法详解 -电脑资料...
这篇教程是向脚本之家的朋友介绍单反相机中P.A.S.M四种曝光模式的用法,对于摄影爱好者非常值得学习,推荐到脚本之家,喜欢的朋友一起来看看吧 很多朋友在初接触单反相机时对相机的P.A.S.M四种曝光模 ...
- python中import re_Python3中正则模块re.compile、re.match及re.search函数用法详解
本文实例讲述了Python3中正则模块re.compile.re.match及re.search函数用法.分享给大家供大家参考,具体如下: re模块 re.compile.re.match. re.s ...
- linux echo写入空文件夹,如何用sed命令往空文件中写入数据
朋友碰到个难题,就是用sed命令往空文件末尾中写入数据,数据来自一个变量,怎么都添加不成功,然后问我要如何处理.仔细想了下,如果文件为非空的话,使用sed命令是可以搞定的,命令如下: sed -i ' ...
- python中search用法_Python3中正则模块re.compile、re.match及re.search函数用法详解
本文实例讲述了Python3中正则模块re.compile.re.match及re.search函数用法.分享给大家供大家参考,具体如下: re模块 re.compile.re.match. re.s ...
- linux 行首加特定字符_linux shell 用sed命令在文本的行尾或行首添加字符
昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了sed命令上,今天不总结一下都对不起昨天流逝的时间啊~~~ 用sed命令在行首或行尾添加字符的命令有以下几种: 假设处理的文本为test.f ...
- linux 行首加特定字符_Linux:用sed命令在文本的行尾或行首添加字符
用sed命令在行首或行尾添加字符的命令有以下幾種: 假設處理的文本為test.file 在每行的頭添加字符,比如"HEAD",命令如下: sed 's/^/HEAD&/g' ...
- 给妹子讲python-S01E05字符串的基本用法详解
欢迎关注公众号:python数据科学家 [要点抢先看] 1.字符串支持一些容器的基本操作,如分片索引 2.字符串的不可修改特性 3.字符串的连接.遍历和成员测试 4.字符串赋值操作中的深拷贝与浅拷贝 ...
- 如何使用sed进行字符串替换?
sed -i 's/badoo/instagram/' myfile 将 myfile 文件中每行第一次出现的badoo用字符串instagram替换,然后将该文件内容输出到标准输出 sed -i ' ...
- java 正则替换非数字和字母_java - 用空字符串替换所有非字母数字字符
java - 用空字符串替换所有非字母数字字符 我尝试使用这个但没有工作 - return value.replaceAll("/[^A-Za-z0-9 ]/", "&q ...
- python剑指offer替换空格_《剑指Offer》字符串 替换空格
//str.replace(char oldChar,char newChar);用字符newChar替换oldChar;返回一个新的字符串 public class Solution { publi ...
最新文章
- linux pip 找不到python
- Maven Build Lifecycle
- Spark _03RDD_Transformations_Action_使用scalajavaAPI
- 电脑没有ps怎么改照片dpi_PS入门笔记!新手必备
- Eclipse生成get,set方法,无参构造方法和有参构造方法
- 25 岁的 JavaScript 都经历了什么?
- ubuntu下rar文件解压后文件名乱码的解决方案
- 二维树状数组(bzoj 1452: [JSOI2009]Count)
- 设置货币值中使用的小数位数
- HTML: 和 是何方神圣
- STM32一体化步进电机驱动器控制步进电机
- 查看oracle是否删除干净,n你好,之前卸载了oracle,该怎么查看以前Oracle卸载干净没?...
- xshell上传文件到虚拟机Linux服务器
- 分享七个超好用的免费工具网站,每一个都是神器!
- 联发科mtk手机处理器怎么样_“传音”新款手机发布,设计大胆,搭载联发科G90T处理器...
- 基于微前端qiankun的多页签缓存方案实践
- 秒懂SpringBoot之Spring对象生命周期与扩展点浅尝辄止
- d2l.Vocab(sentences, min_freq=5, reserved_tokens=[‘<pad>‘, ‘<mask>‘, ‘<cls>‘, ‘<sep>‘]) 参数讲解
- 整理任正非思想:再论反骄破满,在思想上艰苦奋斗-1996
- 线性回归 | Kaggle案例 预期寿命影响预期寿命的因素的统计分析(基于torch)
热门文章
- 【转】火鸟Firebird数据库的中文参考资料
- 未能加载文件或程序集“ypt_ywgd”或它的某一个依赖项。生成此程序集的运行时比当前加载的运行时新,无法加载此程序集。...
- Java中的重写和重载区别
- 远航汽车:坚持合作共赢经营理念 携手志同道合者共创美好未来
- 如何查看tensorflow lite toco编译时的各个参数
- leetcode算法之二分查找
- 【Hadoop配置】用最短的时间配置伪分布式Hbase(亲身经历)
- 何隆昌 element-ui 表格实现鼠标移上去显示信息
- [Vulkan教程] 一: 创建VkDevice
- Java写Excel时OOM_JAVA解析Excel工具避免OOM